关于用matplotlib.pyplot加载图片颜色不对的解决方法
1.原理:用opencv加载的图片是BGR存储的。而用matplotlib.pyplot 需要RGB的格式,故在加载之前使用下面的语句改成RGB格式。
img2 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 或使用
# img2 = img[:, :, ::-1]#将图像img的颜色通道进行反转。 ::-1 表示在最后一个维度(即颜色通道维度)上进行反转操作。这里的-1表示步长为-1,意味着从最后一个元素开始向前遍历,也就是实现了反转。 : 表示选择所有元素(在对应的维度上)
2.演示:
import matplotlib.pyplot as plt
import cv2
image=cv2.imread("./img/cat.jpg")
#img2 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(image)
plt.show()
import matplotlib.pyplot as plt
import cv2
image=cv2.imread("./img/cat.jpg")
img2 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(img2)
plt.show()
3.参考文章:matplotlib显示opencv图像有色差
原文地址:https://blog.csdn.net/qq_42764906/article/details/142374252
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!