【问题标题】:Opencv remove/replace custom color in imageOpencv删除/替换图像中的自定义颜色
【发布时间】:2017-02-13 11:27:31
【问题描述】:

我想使用 opencv 3 和 java 去除彩色图像中的橙色。

Mat src = new Mat(); src = Imgcodecs.imread("coloredimage.jpg",Imgcodecs.CV_LOAD_IMAGE_COLOR);

如何在我的 src(原始)图像中选择和删除橙色分量?

如果我不能去除橙色,我该如何用透明颜色替换它?

谢谢

【问题讨论】:

标签: opencv


【解决方案1】:

您可以使用以下方法:

  • 使用 inRange() 函数过滤橙色。获取二进制图像,橙色部分为 0,其余部分为 1。示例如下: inRange(src, Scalar(0,50,100),Scalar(100,200,250),other_params);

    (这是一个基本的初步橙色滤光片。您可以细化您的值)

  • 您现在有 2 个 Mat 对象 - 您的源图像 src 和掩码 mask。您现在可以使用以下算法:

    result=mask-src; result=mask-result;

这将确保 mask 的非 0 部分在 result 中保留其原始 RGB 值。您可以使用减法()函数来做同样的事情。确保mask事先已转换为3通道图像。

【讨论】:

    猜你喜欢
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 2018-05-11
    • 2021-01-16
    • 1970-01-01
    • 2010-12-05
    • 2013-01-12
    相关资源
    最近更新 更多