当用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显示结果
时间: 2024-10-12 21:16:56