美文网首页
Python+OpenCV教程番外篇2:Matplotlib显示

Python+OpenCV教程番外篇2:Matplotlib显示

作者: e8bcb7ff1632 | 来源:发表于2018-01-05 14:12 被阅读855次

    主站:http://ex2tron.wang
    原文:Python+OpenCV教程番外篇2:Matplotlib显示图像


    学习如何使用Matplotlib显示OpenCV图像。

    Matplotlib是Python的一个非常重要的绘图库,更多内容可以去官网学习。

    显示灰度图

    import cv2
    import matplotlib.pyplot as plt
    
    img = cv2.imread('lena.jpg', 0)
    # 灰度图显示,cmap(color map)设置为gray
    plt.imshow(img, cmap='gray')
    plt.show()
    

    结果如下:

    显示彩色图

    OpenCV中的图像是以BGR的通道顺序存储的,但Matplotlib是以RGB模式显示的,所以直接在Matplotlib中显示OpenCV图像会出现问题,因此需要转换一下:

    import cv2
    import matplotlib.pyplot as plt
    
    img = cv2.imread('lena.jpg')
    img2 = img[:, :, ::-1]
    # 或使用
    # img2 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    
    # 显示不正确的图
    plt.subplot(121),plt.imshow(img) 
    # 显示正确的图
    plt.subplot(122)
    plt.xticks([]), plt.yticks([]) # 隐藏x和y轴
    plt.imshow(img2)
    
    plt.show()
    

    注解:img[:,:,0]表示图片的蓝色通道,熟悉Python的同学应该知道,对一个字符串s进行翻转用的是s[::-1],同样img[:,:,::-1]就表示BGR通道翻转,变成RGB

    结果如下:

    引用

    相关文章

      网友评论

          本文标题:Python+OpenCV教程番外篇2:Matplotlib显示

          本文链接:https://www.haomeiwen.com/subject/zpxsnxtx.html