首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匹配HLS中的所有绿色

匹配HLS中的所有绿色
EN

Stack Overflow用户
提问于 2015-11-27 05:07:44
回答 1查看 298关注 0票数 0

我正在尝试在HLS (Hue Lightness饱和度)中匹配所有的绿色,但没有太多成功。我必须创建一个只包含青椒的图像。源图:

我所需要的是H,L和S之间的特定部分/依赖关系。我已经在互联网上搜索过了,但我失败了:(。

为此,我使用Java语言中的OpenCV。我当前的代码(部分):

代码语言:javascript
运行
复制
private double lsRatio(HLS hls) {
    return hls.getL() / hls.getS();
}

private boolean isCondition(HLS hls) {
    return hls.getS() >= 0 && lsRatio(hls) > 0.8 && lsRatio(hls) < 5 && (hls.getH() <= 120 || hls.getH() >= 80);
}

对于这个条件,我得到:

正如你所看到的,仍然有一些红色。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-11-27 06:08:07

我认为转换到HLS是很好的。我尝试使用HSL Color转换,并得到相同的结果。

代码语言:javascript
运行
复制
(hls.getH() <= 120 || hls.getH() >= 80)

这将包括所有颜色。(包括红色-即0小于120)。你的其他条件正在过滤掉大多数阅读的色调/阴影。

我尝试了一些更简单的方法:

代码语言:javascript
运行
复制
private boolean isCondition(HLS hls)
{
    if (hls.getH() < 60 || hls.getH() > 140)
        return false;

    return true;
}

我最初尝试了80 - 120的范围,但它错过了很多颜色。可能60 -140包含太多非绿色,在这种情况下,您可以尝试应用其他条件来排除更多颜色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33946995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档