• Python OpenCV ——Matplotlib显示图片


       Color image loaded by OpenCV is in BGR mode.But Matplotlib displays in RGB mode.So color images will not be displayed correctly in Matplotlib if image is read with OpenCV.Please see the exercises for more details.(引自文档)

    import numpy as np
    import cv2
    from matplotlib import pyplot as plt
    '''
    img = cv2.imread('cute.jpg',0)
    plt.imshow(img,cmap='gray',interpolation='bicubic')
    plt.xticks([],plt.yticks([]))  # to hide tick values on X and Y axis
    plt.show()
    '''
    
    '''
    Color image loaded by OpenCV is in BGR mode.
    But Matplotlib displays in RGB mode.
    So color images will not be displayed correctly in Matplotlib if image is read with OpenCV.
    Please see the exercises for more details.
    '''
    img = cv2.imread('cute.jpg')
    b, g, r = cv2.split(img)
    img2 = cv2.merge([r,g,b])
    # img2 = img[:,:,::-1]    this can be faster
    plt.subplot(121);plt.imshow(img)  # expects distorted color
    plt.subplot(122);plt.imshow(img2)  # expects true color
    plt.show()
    
    cv2.imshow('bgr image',img)  # expects true color
    cv2.imshow('rgb image',img2)  # expects distrorted color
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

      图像输出:

    Matlpotlib输出:

    OpenCV输出:

  • 相关阅读:
    Binary Tree Maximum Path Sum
    4Sum
    Candy
    Simplify Path
    Max Points on a Line
    ZigZag Conversion
    Two Sum
    Effective_STL 学习笔记(十二) 对STL线程安全性的期待现实一些
    Effective_STL 学习笔记(十一) 理解自定义分配器的正确用法
    Effective_STL 学习笔记(九) 在删除选项中仔细选择
  • 原文地址:https://www.cnblogs.com/buzhizhitong/p/5918472.html
Copyright © 2020-2023  润新知