美文网首页
Matplotlib显示图像的一些问题

Matplotlib显示图像的一些问题

作者: 学而时习之_不亦说乎 | 来源:发表于2018-01-19 07:40 被阅读701次

    彩色图像失真问题

    如果使用opencv读入图像,然后使用matplotlib显示的话,得到的图像将会出现色彩失真的情况。

    import cv2
    import matplotlib.pyplot as plt
    image = cv2.imread("ImageFile")
    plt.axis("off")
    plt.imshow(image)
    plt.show()
    

    主要原因是OpenCV读取彩色图像的时候使用将色彩存储为了BGR的格式,然而matplotlib识别的是RGB格式。所以,在使用matplotlib显示OpenCV读取的图像时,应该首先对数组进行重新排序:

    plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
    plt.show()
    

    灰度图像

    需要显示灰度图像的时候,将cmap值设置为gray即可。

    plt.imshow(arr, cmap='gray')
    plt.show()
    

    相关文章

      网友评论

          本文标题:Matplotlib显示图像的一些问题

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