python 血小板imshow和cv2.imshow之间的差异?

vuv7lop3  于 2023-01-01  发布在  Python
关注(0)|答案(3)|浏览(211)

为什么使用plt.imshowcv2.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()是否需要进行一些修改?

uwopmtnx

uwopmtnx1#

因为OpenCV以BGR顺序而不是RGB顺序存储图像。
尝试plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
有关示例,请参见here

y53ybaqx

y53ybaqx3#

您可以用途:

plt.imshow(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))
                        OR
plt.imshow(image[:,:,::-1])  # here we are reversing the channel order

相关问题