plt.show和cv2.imshow之间的区别?

问题描述:

为什么使用plt.show & cv2.imshow()调用同一图像时输出图像有差异?plt.show和cv2.imshow之间的区别?

这里是我的代码:

import cv2 
import numpy as np 
from matplotlib import pyplot as plt 

src=cv2.imread('fruits1.jpg') # Source image 

plt.subplot(211),plt.imshow(src),plt.title('image') 
plt.xticks([]),plt.yticks([]) 
plt.show() 

cv2.imshow('image',src) 
cv2.waitKey(0) 
cv2.destroyWindow() 

这里是plt.show图像:

image output for plt.show

,第二个是原始图像:

​​

是否有一些修改需要与plt.show()?

因为OpenCV以BGR顺序存储图像而不是RGB。

尝试plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))

为例见here