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);
但是当我试图追随它时,几乎没有见过他 我错误的计算?或者我该怎么做才能改善结果?
答案 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] 。