问题描述
在使用plt.savefig()保存图片后,再使用cv2.imread读取该图片文件的时候,会出现色差色偏的问题(即为红变蓝,蓝变红)。
出现色差色偏的图片:
原图片:
问题出现的原因
cv2.imread() 读取图像格式为BGR(由于以前流行BGR的图像显示方式,但近几年来改为流行RGB的图像显示格式),而 matplotlib 里面的图像显示的格式为RGB因此cv.imread()读取matplotlib保存下来的文件会导致色差色偏的问题。
解决方法
import cv2 as cv
image = cv.imread('plt.savefig保存的路径')
image = image[:, :, ::-1] # 前两个冒号表示第一第二维度不变,-1表示将第三维度倒序排列
这样问题就能够解决了~~
希望这篇文章对大家的学习有所帮助!