gpt4 book ai didi

opencv - 如何在使用其范围的阈值时处理色调的大变化

转载 作者:行者123 更新时间:2023-12-02 17:42:29 25 4
gpt4 key购买 nike

我想使用 opencv 的 inRange 函数对 HSV 颜色空间中的彩色图像进行二值化。

我发现对于一些 RGB 值,色调值会发生巨大变化。例如
1) RGB 值:56、40、39 其 HSV 值:2、77、56
2) RGB 值:56、40、41 其 HSV 值:178、73、56

所以,在这种情况下,两种 RGB 颜色非常接近,看起来也很相似,但它的色调值有很大的不同,现在如果我们使用色调范围从 2 到 178 进行二值化,那就错了。

那么使用阈值范围在 HSV 颜色空间中二值化和图像的正确方法应该是什么。

最佳答案

您必须记住 HSV 表示的 H 分量是循环的,就像时钟上的数字一样,“规范”范围为 [0, 360)(还有其他选项,如 [0, 1)或 [0, 180)利用不同的 channel 深度,在您的情况下,它是 [0, 180) 以适应 uchar 范围)。

实现您想要的最简单的方法是自己迭代图像像素,检查 2 个条件,如下所示:(h > 170) || (h < 10)并根据是否为真分配二进制值。

用您的值绘制圆圈并查看您想要覆盖的范围以及您应该使用什么表达式会很有帮助。

关于opencv - 如何在使用其范围的阈值时处理色调的大变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42692578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com