【问题标题】:Converting colored segment of image to white将图像的彩色部分转换为白色
【发布时间】:2021-04-18 17:41:51
【问题描述】:

我正在尝试使用 python OpenCV 将 Bill 的分段图像转换为白色,但没有成功。我基本上想在黑色背景中创建比尔的白色剪影。 我已将图像存储在一个名为:

bill

任何解决方案或方向都将受到高度赞赏。谢谢

这是应用frab建议的代码时bill的剪影版本:

graybill = cv2.cvtColor(bill, cv2.COLOR_BGR2GRAY)
graybill[bill > 0] = 255

【问题讨论】:

    标签: python opencv scikit-image


    【解决方案1】:

    最简单的方法是:

    1. 将图像转换为灰度

      graybill = cv2.cvtColor(bill, cv2.COLOR_BGR2GRAY)

    2. 如果值大于0(黑色),则设置矩阵的所有值等于255

      graybill[graybill > 0] = 255

    另一种方法是使用来自 cv2 的threshold

    ret,thresh1 = cv.threshold(img,1,255,cv.THRESH_BINARY)
    

    【讨论】:

    • 我试过这样做,但我似乎得到了一张带有深蓝色背景的黄色钞票剪影的图像(将更新问题中的图像)
    • 您是否使用 matplotlib 绘制图像?那可能是颜色图,使用 cv2.imshow()。
    • 问题是使用 'graybill = cv2.cvtColor(bill, cv2.COLOR_BGR2GRAY)' 输出的账单是绿色而不是灰色。
    • 请使用 cv2.imshow() 或将 cmap='gray' 设置为 plt.imshow 的参数
    • matplotlib 默认使用颜色表对灰度图像进行伪着色。这就是为什么你的背景是紫色而你的前景是黄色的。你应该简单地使用 c2.imshow()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 2011-02-11
    • 2017-10-10
    相关资源
    最近更新 更多