OpenCV和Matplotlib色彩空间模式不一致的问题

it2025-06-03  77

当用OpenCV读取彩色图像时。OpenCV是以(BGR)的顺序存储图像数据的,而Matplotlib是以(RGB)的顺序显示图像的。

能够用以下的程序来证明这一点

import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread('lena_std.tif') b,g,r = cv2.split(img) img2 = cv2.merge([r,g,b]) plt.subplot(121);plt.imshow(img) plt.subplot(122);plt.imshow(img2) plt.show() cv2.imshow('bgr image',img) cv2.imshow('rgb image',img2) cv2.waitKey(0) cv2.destroyAllWindows() 程序执行结果例如以下:

Matplotlib显示结果

OpenCV显示结果

             

參考资料:http://stackoverflow.com/questions/15072736/extracting-a-region-from-an-image-using-slicing-in-python-opencv/15074748#15074748

转载于:https://www.cnblogs.com/bhlsheji/p/5354637.html

最新回复(0)