分享

OpenCV follows BGR order, while matplotlib follows RGB order.

 dzh1121 2015-04-10
when you display an image loaded in OpenCV using pylab functions, you may need to convert it into RGB mode.  Below method demonstrate it: (三种方法,任选一种即可)
import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('peppers.bmp',-1)
# method 1 
b
,g,r = cv2.split(img) img2 = cv2.merge([r,g,b])

# method 2
b,g,r = im[:,:,0],im[:,:,1],im[:,:,2]
img2 = cv2.merge([r,g,b])

# method 3
img2 = im[:,:,::-1]

plt
.subplot(121);plt.imshow(img) # expects distorted color plt.subplot(122);plt.imshow(img2) # expect true color plt.show() cv2.imshow('bgr image',img) # expects true color cv2.imshow('rgb image',img2) # expects distorted color cv2.waitKey(0) cv2.destroyAllWindows()

Run this code and see the difference in result yourself. Below is what I got :

Using Matplotlib :

enter image description here

Using OpenCV :

enter image description here


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多