为什么使用 plt.imshow
& 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.imshow
的图像:
第二个是原始图像:
plt.imshow()
是否需要进行一些修改?
原文由 Aman Garg 发布,翻译遵循 CC BY-SA 4.0 许可协议
因为 OpenCV 以 BGR 顺序而不是 RGB 顺序存储图像。
尝试
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
请参阅 此处 的示例。