适用于开放式iOS的HSV范围

时间:2013-03-29 12:33:36

标签: ios opencv

我试图通过open cv检测iOS中的皮肤。我的守则如下所述。

cvCvtColor(&srcIplImage, &hsvIplImage, CV_BGR2HSV);

CvScalar lower = cvScalar(0, 58, 88);
CvScalar upper = cvScalar(25, 173, 229);

cvInRangeS(&hsvIplImage, lower, upper, &srcGrayIplImage);

cvCvtColor(&srcGrayIplImage, &dstIplImage, CV_GRAY2BGR);

在android中,它完美运行并正确检测皮肤。但是在iOS中我得到了非常意外的结果。我认为iOS和Android中的open cv使用了不同的HSV范围。对于Android我的下限和上限都可以,但同样不适用于iOS。

如果有人遇到这类问题,请帮我解决问题。

提前致谢。

1 个答案:

答案 0 :(得分:3)

我已通过点击和试用来解决问题。正常的HSV范围如下所述。

Hue:0 - 360.(它的角度) 饱和度:0 - 100(颜色强度) 值:0 - 100(亮度)

在iOS中它具有以下范围, 色调:0 - 180.(它的角度) 饱和度:0 - 255(颜色强度) 值:0 - 255(亮度)

Android中的

Hue:0 - 360.(它的角度) 饱和度:0 - 255(颜色强度) 值:0 - 255(亮度)

另一个你需要注意iOS OpenCV中的配色方案是BGR而不是RGB。所以Hue部分将覆盖0-60度范围内的蓝色而不是红色。您必须相应地更改iOS的Hue值。

希望这对其他人有用:)