HSV 颜色空间和 CvInRangeS 函数
cvInRangeS(imgHSV, cvScalar(15, 234, 120), cvScalar(21, 234, 120), imgThreshed);
我想知道 cvScalar 函数中的每个参数代表什么。我以为它会是 HSV,但它似乎没有设定所需颜色的阈值。有人可以更清楚地解释一下参数吗?
cvInRangeS(imgHSV, cvScalar(15, 234, 120), cvScalar(21, 234, 120), imgThreshed);
I am wondering what each parameter in the cvScalar function represents. I thought it would be HSV but it doesnt seem to be thresholding the desired color. Could someone explain the parameters a bit clearer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
cvInrangeS
函数检查数组元素是否位于两个标量之间。第一个 cvScalar 值表示包含下边界。
第二个 cvScalar 值表示排除上限。
cvInrangeS 不关心您给出的 RGB、BGR 或 HSV 等值。它只是遍历您作为输入给出的数组元素(第一个参数)(这里是图像)并检查元素是否在给定范围内指定的。如果是,则选择,否则拒绝。并将结果提供给最后一个参数,即您的输出图像。
请查看其文档
如果您提供 HSV 图像, 。因此 cvScalar 表示要提取的范围的最低和最高颜色。
如果是 RGB 图像,则指定最小和最大 RGB 颜色。
最好使用 HSV,因为它提供了良好的结果。 阅读此处。
现在,如果您想将 RGB 值转换为 HSV 值,请尝试此处和这里。
(记住,在 OpenCV 中红色和蓝色互换。它是 BGR,而不是 RGB)。
cvInrangeS
function checks that array elements lie between two scalars.First cvScalar value denotes inclusive lower boundary.
Second cvScalar value denotes exclusive upper boundary.
cvInrangeS doesn't care the values you give as either RGB or BGR or HSV etc. It just goes through the array elements you give as input (first parameter)(here it is an image) and checks if elements are in the given range you specified. If so, it is selected, otherwise rejected. And feed result to last parameter, your output image.
Check out its documentation
Now here if you give a HSV image. So cvScalar denotes lowest and highest color of range you want to extract.
If it is RGB image, you specify min and max RGB colors.
And better use HSV because it provides good result. Read here.
And now if you want to convert RGB to HSV values, Try here and here.
(Remember, in OpenCV red and blue interchanged. It is BGR, not RGB).
它意味着
H - 色调、S - 饱和度、V - 值,
请查看此处以了解其中每一个:
http://en.wikipedia.org/wiki/HSL_and_HSV
颜色主要在 Hue 组件中定义。这里有一个关于 HSV 空间阈值的很好的教程:
http://aishack.in/tutorials/thresholding/< /a>
It means
H - Hue, S - Saturation, V - Value
take a look in here for understanding each one of those:
http://en.wikipedia.org/wiki/HSL_and_HSV
the color is mainly defined in the Hue component. There is a good tutorial about thresholding in HSV space in here:
http://aishack.in/tutorials/thresholding/