【发布时间】:2020-11-11 07:26:20
【问题描述】:
我在 python (jupyter lab) 中使用 cv2 加载图像并尝试使用 plt.imshow 显示灰度图像。
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('my_image.jpg')
new_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
gray = cv2.cvtColor(new_img, cv2.COLOR_RGB2GRAY)
plt.imshow(img)
plt.imshow(new_img)
plt.imshow(gray)
当上面的代码运行时会发生这种情况:
- img 颜色失真(如预期)
- new_img 具有“正确”的颜色
- 灰色是一些奇怪的扭曲颜色
我的问题是关于灰色图像。为什么会发生这种情况,我该如何更改?
【问题讨论】:
-
只需使用
grey = cv2.imread("...", cv2.IMREAD_GRAYSCALE),它会更快并且占用更少的内存。 -
matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.imshow.html。你需要写
plt.imshow(gray, cmap='gray')
标签: python opencv matplotlib jupyter-lab