rgb图像红蓝颠倒

RGB空间红蓝颠倒

造成这个问题的原因是 OpenCV 和 matplotlib 的色彩空间不一致,一个是 RGB,一个是 BGR,所以蓝色和红色出现了色差问题。
原文使用的库:

import cv2
from matplotlib import pyplot as plt

图片显示与读取:

img_array = cv2.imread(DATA_DIR + '\\PMimages_1460\\' + img)
plt.imshow(img_array) 
plt.show()

解决方法

产生这个问题的原因就是 OpenCV 的接口使用 BGR 模式,而 matplotlib.pyplot 则是 RGB 模式。

只要在显示图片前转换下就好了:

img_array = cv2.cvtColor(img_array, cv2.COLOR_BGR2RGB)
posted @ 2022-05-25 09:29  heyrro  阅读(304)  评论(0编辑  收藏  举报