关于用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 cv2image=cv2.imread("./img/cat.jpg")
#img2 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(image)
plt.show()
import matplotlib.pyplot as plt
import cv2image=cv2.imread("./img/cat.jpg")
img2 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(img2)
plt.show()