我正在尝试使用matplotlib以及python显示PNG文件。对于此测试,我生成了以下图像:

现在,我加载图像并将其转换为多维numpy矩阵:

import numpy as np
import cv2
from matplotlib import pyplot as plt

cube = cv2.imread('Graphics/Display.png')
plt.imshow(cube)
plt.ion()

当我尝试在matplotlib中绘制该图像时,颜色会反转:

如果矩阵没有任何修改,为什么绘图中的颜色是错误的?

提前致谢。

最佳答案

看来您可能已将RGBBGR切换了。请注意,您的绿色被保留,但所有蓝色变为红色。如果cube的形状为(M,N,3),请尝试将cube[:,:,0]cube[:,:,2]交换。您可以使用numpy来做到这一点,如下所示:

rgb = numpy.fliplr(cube.reshape(-1,3)).reshape(cube.shape)

OpenCV文档中:

关于python - 使用matplotlib绘制PNG文件时反转颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14387668/

10-10 19:11