如何在python中删除图像上的网格线?
Posted
技术标签:
【中文标题】如何在python中删除图像上的网格线?【英文标题】:how to remove grid lines on image in 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 有关。这很奇怪.... 【参考方案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 上运行良好。以上是关于如何在python中删除图像上的网格线?的主要内容,如果未能解决你的问题,请参考以下文章