python plt.imshow与cv2.imshow的色差问题

见图

plt输出原图:

        plt.imshow(frame)
        plt.show()

python plt.imshow与cv2.imshow的色差问题_第1张图片
使用cv2输出:

        cv2.imshow('',frame)
        cv2.waitKey(10)

python plt.imshow与cv2.imshow的色差问题_第2张图片

原因: opencv 的接口使用BGR模式,matplotlib.pyplot 接口使用的是RGB模式,所以相同的三维数组,显示不同。

解决办法

        b, g, r = cv2.split(frame)
        frame = cv2.merge([r, g, b])
        cv2.imshow('',frame)
        cv2.waitKey(10)

python plt.imshow与cv2.imshow的色差问题_第3张图片

你可能感兴趣的:(python)