RGB用plt.imshow()显示,BGR用cv2.imshow()显示
import cv2
import matplotlib.pyplot as plt
# 采用cv2.imshow()显示的是BGR的图片,采用plt.imshow显示的是RGB的图片
# BGR转化为RGB
img = cv2.imread('MyLove.jpg')
b, g, r = cv2.split(img) # 将通道拆分为BGR单通道,各个通道对应的是灰度值
img2 = cv2.merge([r, g, b]) # 将单通道合并为RGB多通道
# img2 = cv2.cvtColor(img , cv2.COLOR_BGR2RGB) # 能够达到相同的效果
# plt显示
plt.subplot(121)
plt.imshow(img) # expects distorted color
plt.subplot(122)
plt.imshow(img2) # expect true color
plt.show()
# cv2显示
cv2.imshow('bgr image', img) # expects true color
cv2.imshow('rgb image', img2) # expects distorted color
cv2.waitKey(0)
cv2.destroyAllWindows()
plt.imshow() 显示的BGR和RGB
cv2.imshow() 显示的BGR为彩色(上图右边的),RGB为上图左边的图像
cv2.imshow()必须要有第一个窗口名称的参数,且与cv2.waitKey(0)组合使用,否则将无法显示图像