【问题标题】:pyplot is changing the color of the image [duplicate]pyplot正在改变图像的颜色[重复]
【发布时间】:2018-04-14 07:17:06
【问题描述】:

我尝试使用下面的代码绘制一些子图。当我使用 OpenCv 时,图像很好,但是当我使用 pyplot 时,颜色会改变。 请看图片和代码。

用 cv2 绘制

用 pyplot 绘制

import cv2
from matplotlib import pyplot as plt

img = cv2.imread('image.jpg')

fig = plt.figure()

ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(223)
ax3 = fig.add_subplot(224)

ax1.imshow(img)
ax1.set_title('Original Image')



ax2.imshow(imgRedimensionata_proiect)
ax2.set_title('Alg image')

ax3.imshow(imgRedimensionata_traditional)
ax3.set_title('Traditional resize')

fig.show()
cv2.imshow('image',img)
cv2.waitKey(0)

【问题讨论】:

    标签: python image opencv matplotlib


    【解决方案1】:

    看起来它正在采用 BGR 并将其显示为 RGB(或反之亦然)。添加类似这样的内容来修复它。

    b,g,r = cv2.split(img)       # get b,g,r
    img = cv2.merge([r,g,b])     # switch it to rgb
    

    reference

    【讨论】:

    • CV2 将图像读取为 numpy 数组,因此您也可以反向处理颜色,例如 rgb_img = bgr_img[..., ::-1],应该会节省一些内存
    猜你喜欢
    • 2016-01-29
    • 2018-10-24
    • 2021-11-10
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2016-01-16
    • 1970-01-01
    相关资源
    最近更新 更多