我刚开始学习OpenCV和Python。我已经安装好了它,并使用简单的脚本开始使用。我想加载一张彩色图片和同一张黑白图片。下面是简单的代码:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img1 = cv2.imread("tiger.jpg",3)
img2 = cv2.imread("tiger.jpg",0)
plt.subplot(121),plt.imshow(img1),plt.title('TIGER_COLOR')
plt.subplot(122),plt.imshow(img2),plt.title('TIGER_BW')
plt.show()
好的,这是我正在使用的图像及其真实颜色:https://pixabay.com/en/tiger-cub-tiger-cub-big-cat-feline-165189/。
问题是,当我展示这段代码的结果时,我得到了这个:
正如你所看到的,两张图片都有错误的颜色。我认为这可能是因为我正在使用一个开源的图形驱动程序,但我安装了私有的驱动程序,问题仍然存在。
我该如何解决这个问题?问题出在哪里?有任何想法吗? 谢谢!
rgb = img1[(2,1,0),:,:]
之前,只需交换 B 和 R 通道,或者使用 cvtColor。灰度图像没问题,您只需要使用 colormap。使用plt.imshow(img2, cmap='gray')
。 - Miki