cvInRangeS(imgHSV, cvScalar(15, 234, 120), cvScalar(21, 234, 120), imgThreshed);
Run Code Online (Sandbox Code Playgroud)
我想知道cvScalar函数中的每个参数代表什么.我认为这将是HSV,但似乎并没有对所需的颜色进行阈值处理.有人能解释一下参数有点清楚吗?
Abi*_*n K 10
cvInrangeS 函数检查数组元素位于两个标量之间.
第一个cvScalar值表示包含下限.第二个cvScalar值表示独占的上边界.
cvInrangeS不关心你得到为RGB或BGR或HSV等它只是通过你给作为输入(第一个参数)的数组元素(在这里它是一个图像)的值,并检查是否元件在给定范围内你指定.如果是,则选择它,否则拒绝.并将结果输入到最后一个参数,输出图像.
查看其文档
现在,如果您提供HSV图像.因此,cvScalar表示要提取的范围的最低和最高颜色.
如果是RGB图像,则指定最小和最大RGB颜色.
并且更好地使用HSV,因为它提供了良好的结果.读到这里.
(请记住,在OpenCV中红色和蓝色互换.它是BGR,而不是RGB).