【问题标题】:how to remove grid lines on image in python?如何在python中删除图像上的网格线?
【发布时间】:2018-11-05 17:17:01
【问题描述】:

我正在为我的项目使用 google colab。即使我没有写它们,我也会在图像上得到网格线。

from matplotlib import pyplot as plt
%matplotlib inline
import cv2

img = cv2.imread('k15.jpg')

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.imshow(img)

对于像上面这样的代码,我得到了网格线,当我在我的 python shell 中运行相同的代码时,情况并非如此。

【问题讨论】:

  • 您显示的代码可能不是负责网格线的代码。如果您从新内核开始,它们还会出现吗?
  • 是的。我认为它与 google colab 有关。这很奇怪....

标签: python matplotlib computer-vision google-colaboratory


【解决方案1】:
plt.imshow(myImage)
plt.grid(None)   <---- this should remove that white grid

【讨论】:

  • 其实 plt.grid() 也会删除网格,所以不用输入'None'
【解决方案2】:

显然背景中的某些东西改变了风格。我对 google colab 没有任何经验,我无法判断这是否是造成观察到的显示图像差异的原因。

在任何情况下,都应该可以手动关闭每个笔记本的网格线。

%matplotlib inline
from matplotlib import pyplot as plt
plt.rcParams["axes.grid"] = False

# rest of code

【讨论】:

  • 终于解决了我的问题。我一直在寻找某种方式来阻止这种情况,但找不到任何东西。谢谢!!
【解决方案3】:

如果您不介意使用不同的数据包,您可以使用 PIL 或 Pillow 轻松完成

from PIL import Image
img = Image.open('C:\...\k15.jpg')
img.show()

【讨论】:

  • 在 PIL 中打开时需要提供图片的完整路径
  • 没有路径,因为我在 google colab 上使用它。此外,相同的脚本在本地 python shell 上运行良好。
猜你喜欢
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-21
  • 2016-07-14
  • 1970-01-01
  • 2018-07-07
相关资源
最近更新 更多