Android(安卓)OpenCV 颜色识别
16lz
2021-01-26
先把图片转成hsv模式,然后再判断。
inRange 这个方法,判断输入的mat每个像素是否在范围内,如果在就返回白色,不在返回黑色,最后会输出一个黑白的mat图片。
int iLowH = 78; int iHighH = 99; int iLowS = 43; int iHighS = 255; int iLowV = 46; int iHighV = 255; Mat m = new Mat(); Utils.bitmapToMat(bitmap_src, m); Mat hsv=new Mat(); //android上的是RGBA,所以先转成BGR Imgproc.cvtColor(m,hsv,Imgproc.COLOR_RGBA2BGR); Imgproc.cvtColor(hsv,hsv,Imgproc.COLOR_BGR2HSV); Mat r=new Mat(); Core.inRange(hsv, new Scalar(iLowH, iLowS, iLowV), new Scalar(iHighH, iHighS, iHighV),r);
参照表
| 黑 | 灰 | 白 | 红 | 橙 | 黄 | 绿 | 青 | 蓝 | 紫 | |
hmin | 0 | 0 | 0 | 0 | 156 | 11 | 26 | 35 | 78 | 100 | 125 |
hmax | 180 | 180 | 180 | 10 | 180 | 25 | 34 | 77 | 99 | 124 | 155 |
smin | 0 | 0 | 0 | 43 | 43 | 43 | 43 | 43 | 43 | 43 | |
smax | 255 | 43 | 30 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | |
vmin | 0 | 46 | 221 | 46 | 46 | 46 | 46 | 46 | 46 | 46 | |
vmax | 46 | 220 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 |
更多相关文章
- 浅入浅出Android(016):分别使用WebView和Intent访问网页
- Android类说明---Scroller
- Android(安卓)事件分发机制总结篇
- 破解android签名验证
- android的事件分发
- 将获取的html源代码格式化输出
- Android(安卓)加速器(accelerometer) 使用,判断设备移动
- 左上角返回键
- Android判断网络是否连接