【问题标题】:Applying matplotlib color map to opencv image将 matplotlib 颜色映射应用于 opencv 图像
【发布时间】:2015-09-12 07:06:43
【问题描述】:

我正在尝试将 matplotlib 中的颜色图应用到 OpenCv 图像(我知道我可以使用其他库,但我正在将 OpenCv 用于其他事情)。

我可以应用它并使用以下脚本显示它:

import cv2
from matplotlib.pylab import cm

def colorize(image, colormap):
    im = cv2.imread(image)
    im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
    colorized = colormap(im)
    cv2.imshow("colorized", colorized)
    cv2.waitKey(0)
    cv2.imwrite("colorized.jpg", colorized)

if __name__ == "__main__":
    import sys
    colorize(sys.argv[1], cm.jet)

没问题,但是“colorized.jpg”图像是黑色的。

我想我必须将它从 3 色 + alpha 通道转换为 3 通道图像,但不知道如何。

有没有办法正确保存imshow()调用中显示的图像?

【问题讨论】:

    标签: python opencv matplotlib colormap


    【解决方案1】:

    imwrite 需要 [0,255] 范围内的颜色值。但是,颜色图会返回 [0,1] 范围内的颜色值。因此,这给出了预期的结果:

    cv2.imwrite("colorized.jpg", colorized*255)
    

    【讨论】:

    • 你确定吗?这个对我有用。你见过255的乘法吗?
    猜你喜欢
    • 2019-03-01
    • 2022-01-16
    • 2021-03-13
    • 2023-03-04
    • 2013-02-14
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多