使用 cv2 imread 时图像会改变颜色

时间:2021-06-09 22:44:25

标签: python opencv

我正在尝试读取和绘制图像。但是,当我运行 2 行代码时,该图与原始图像不同。我的python版本是3.8.5。

auxImg = (cv2.imread("train/img_0001.jpg",cv2.IMREAD_COLOR))/255
plt.imshow(auxImg)

我也尝试不使用 /255,但结果相同。

原始图片:

绘制的图像:Plotted image

2 个答案:

答案 0 :(得分:1)

因为 cv2 在 BGR 模式下打开图像。您需要使用 cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

答案 1 :(得分:0)

cv2 模块以 BGR 格式读取图像,而 matplotlib 模块使用 RGB。一个简单的解决方法是首先在图像上使用 cv2.cvtColor() 方法:

auxImgRGB = cv2.cvtColor(auxImg, cv2.COLOR_BGR2RGB)

COLOR_BGR2RGB 模式为 4