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

Ama*_*arg 12 python opencv image-processing matplotlib

使用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()
Run Code Online (Sandbox Code Playgroud)

这是来自的图像plt.show:

plt.show的图像输出

第二个是原始图像:

从cv2.show输出的图像

是否需要进行一些修改plt.show()

小智 15

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

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

请看这里的例子.