问题描述
- Android 怎样实现通过摄像头识别颜色,比如青色、黄色品红,求代码
-
int pixel=bitmap1.getPixel(i, j);
//像素分离
int r=(pixel>>16)&0xff;
int g=(pixel>>8)&0xff;
int b=pixel&0xff;
//黄色
int y=((pixel>>16)+(pixel>>8))&0xff;
//青色
int q=((pixel>>8)+pixel)&0xff;
// Log.e("color", r+"n"+g+"n"+b);
//判断颜色并赋值
if(r>g&r>b&rq){
redNum++;}
else if(g>r&g>b&g
greenNum++;
}
else if(b>r&b>g&b>y&b<=q){
blueNum++;
}
else if(y>r&y>g&r>b&g>b&y>q){
yellowNum++;
}
else if(q>r&q>g&b>r&g>r&q>y){
cyanNum++;
}像这样,顺便看下这里那里有错,黄色。青色显示不出来,谢谢
解决方案
通过RGB判断颜色非常不靠谱,建议你换颜色空间。而且最好用分类器来实现。
解决方案二:
你这样获取每个像素点的颜色值?这样应该很难判断出整个摄像头区域的颜色值吧
解决方案三:
分类器可以很好的实现
时间: 2024-10-02 19:47:42