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 :
Using OpenCV :
|