0
我试图在OpenCV中为android(实时相机视图)编写颜色(绿色)检测代码。首先使用RGB空间,这是一半好,但切换到HSV空间的结果是混乱!HSV空间中的Android OpenCV颜色检测
这是我的代码
Mat A = src;
Mat B = dst;
Imgproc.cvtColor(A, A, Imgproc.COLOR_RGB2HSV,3);
Size sizeA = A.size();
for (int i = 0; i < sizeA.height; i++)
for (int j = 0; j < sizeA.width; j++) {
double[] data = A.get(i, j);
if (data[0]>=95 && data[0]<=130 & data[1]>=150 && data[1]<=255 & data[2]<=150 && data[2]<=255){
data[0] = 120;
data[1] = 255 ;
data[2] = 255 ;
}
else
data[0] = 100;
data[1] = 255;
data[2] = 255;
B.put(i, j, data);
}
Imgproc.cvtColor(B, B, Imgproc.COLOR_RGB2RGBA, 4);}
}
什么不对的代码?这种方法运行缓慢。为什么?
(我新来的Android和OpenCV)
TNX
Tnx,&&为两个其他值之间的值,如b:a
您将double放入无符号字符中 – Miki
如果是双倍值,则使用[0,1]中的值,而不是[0,255] – Miki