为什么使用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()
是否需要进行一些修改?
3条答案
按热度按时间uwopmtnx1#
因为OpenCV以BGR顺序而不是RGB顺序存储图像。
尝试
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
有关示例,请参见here。
rhfm7lfc2#
OpenCV - BGR和Matplotlib - RGB
开放式CV:
https://docs.opencv.org/2.4/doc/tutorials/introduction/display_image/display_image.html
曲面图库:
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imshow.html
y53ybaqx3#
您可以用途: