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

Posted phlsheji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV和Matplotlib色彩空间模式不一致的问题相关的知识,希望对你有一定的参考价值。

当用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






以上是关于OpenCV和Matplotlib色彩空间模式不一致的问题的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV实战——OpenCV色彩空间转换

OpenCV实战——OpenCV色彩空间转换

OpenCV-Python实战——OpenCV中的色彩空间和色彩映射(❤️含大量实例,建议收藏❤️)

色彩空间类型---OpenCV-Python开发指南(7)

如何在OpenCV中使用Adobe RGB色彩空间读取jpeg图像?

OpenCV高手勿入! 半小时学会基本操作 6 色彩空间