我一直在尝试通过pylab用打开的图像实现一些图像处理技术。问题是,我可以通过pylab打开并查看图像,但是颜色似乎有很大不同。似乎没有显示红色。
Pylab显示的图像
原始图片(以及在cv2.imshow中显示的图片
任何人都可以帮助我使pylab正常工作吗? 非常感谢你!
答案 0 :(得分:0)
由于OpenCV和Matplotlib中使用的颜色顺序不同,因此颜色看起来也不同:
如您所见,通道是反向的,因此您得到了一个奇怪的彩色物体。
情况1:如果您正在使用cv2.imread()
cv2.imshow()
进行显示。imshow()
显示它,则必须反转通道。 plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
情况2:如果您正在使用cv2.imread()
plt.imshow()
进行显示。cv2.imshow()
显示它,则必须再次反转频道。 cv2.imshow(cv2.cvtColor(image, cv2.COLOR_RGB2BGR))
情况3::如果不确定如何读取图像,只需交换第一和最后一个频道:
cv2.imshow('Image', im[...,::-1])