分享

《python+opencv学习》一、Gui Features in Opencv(2)Matplotlib显示图片

 雪柳花明 2017-06-17

本文主要实现用Matplotlib显示灰度图像和彩色图像。

有些同学在使用Matplotlib显示彩色图像时,会得到不理想的效果,具体原因和解决办法请看下文!

1. Matplotlib显示灰度图像

[python] view plain copy
  1. import cv2  
  2. from matplotlib import pyplot as plt  
  3.   
  4. img = cv2.imread('test.jpg'0)  
  5. plt.imshow(img, cmap = 'gray')  
  6. #plt.xticks([]), plt.yticks([])#去除横纵坐标  
  7. plt.show()  

2. Matplotlib显示彩色图像

有时候用Matplotlib显示彩色图像时,得到的结果并不令人满意,是因为:

Matplotlib是RGB,而Opnecv是BGR,所有我们需要先将OpenCV读入的彩色图像拆分成B、G、R三个通道,然后再按R、G、B顺序合并三个通道,代码如下

[python] view plain copy
  1. img = cv2.imread('test.jpg')  
  2. b, g, r = cv2.split(img)  
  3. img2 = cv2.merge([r, g, b])  
  4. plt.subplot(121);plt.imshow(img)  
  5. plt.subplot(122);plt.imshow(img2)  
  6. plt.show()  

再看看以下代码:

[python] view plain copy
  1. import cv2  
  2. from matplotlib import pyplot as plt  
  3.   
  4. img = cv2.imread('test.png')  
  5. b, g, r = cv2.split(img)  
  6. img2 = cv2.merge([r, g, b])  
  7. cv2.imshow('bgr image', img)  
  8. cv2.imshow('rgb image', img2)  
  9. cv2.waitKey(0)  
  10. cv2.destroyAllWindows()  

知道哪里不同了吧!!!!!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 全屏 打印 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多