zoukankan      html  css  js  c++  java
  • plt.imshow与cv2.imshow显示颜色问题

    在用plt.imshow和cv2.imshow显示同一幅图时可能会出现颜色差别很大的现象。这是因为:

    opencv的接口使用BGR,而matplotlib.pyplot 则是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

  • 相关阅读:
    高二下期末考试
    LG月赛.7
    CF1187E
    P5440 【XR-2】奇迹
    P1084 疫情控制
    P1083 借教室
    P2680 运输计划
    P3128 [USACO15DEC]最大流Max Flow
    博弈入门
    HDU 1907
  • 原文地址:https://www.cnblogs.com/Ph-one/p/12093193.html
Copyright © 2011-2022 走看看