计算cvInRangeS中的最小值和最大值

时间:2012-07-16 12:24:24

标签: opencv

 cvCvtColor(frame, hsv_frame, CV_BGR2HSV);
 cvInRangeS(hsv_frame, hsv_min, hsv_max, thresholded);

我试着跟随蓝球。为了确定最大值和最小值,我打开了我用相机拍摄的照片,将它打开,然后在(180/240)打开它,然后在H中打开我的照片。 和(255/240)S和L的结果 然后我重温下一个值:

108 113 115 112 105 H
145 40  107 129 143 S
97  129 96  102 124 L

所以我选择了下一个值:

CvScalar hsv_min = cvScalar( 105, 40, 96 );
CvScalar hsv_max = cvScalar( 115, 140, 130);

但是当我试图追随它时,几乎没有见过他 我错误的计算?或者我该怎么做才能改善结果?

1 个答案:

答案 0 :(得分:2)

首先,为什么要将图片转换为HSV然后再谈HSL?如果我没弄错的话,他们就是不同的颜色空间。

要使用HSV色彩空间确定蓝色,请使用此范围:

Min (H/S/V):  90,  50,  50
Max (H/S/V): 130, 255, 255

同样this online converter可以帮到你。

不要忘记使用Hue代码将图片转换为HSV后的CV_BGR2HSV值在 [0..180] 范围内,同时使用{{1}会给你范围 [0..360]