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

时间:2016-07-26 19:14:17

标签: python opencv matplotlib image-processing

为什么使用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

,第二个是原始图像:

image output from cv2.show

plt.show()需要进行一些修改吗?

2 个答案:

答案 0 :(得分:13)

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

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

有关示例,请参阅here

答案 1 :(得分:1)