0
点赞
收藏
分享

微信扫一扫

安卓图像处理(六)过滤颜色


0 前言

很多时候,图片上有两种泾渭分明的颜色,我们只想提取其中一种做处理,那该怎么办呢?可以使用颜色来过滤。

1 基本思想

使用hsv色彩空间。h可以帮助我们确定颜色是属于哪一个空间的,大体属于红色还是蓝色。然后,设置两个阈值,过滤每一个像素,不符合条件的通通变黑。
这是部分关键代码,其实内容不多,执行完毕后,内容就变成黑白的了。如果想在原图像上,框出来,可以利用这个获取的黑白图,​​​作为mask​​。:

Mat binaryMat = new Mat();
// Imgproc.cvtColor(dstmat, binaryMat, Imgproc.COLOR_BGR2GRAY);
hsvMat = srcmat1.clone();
// Mat resultMat = new Mat();
Imgproc.cvtColor(srcmat1, hsvMat, Imgproc.COLOR_BGR2HSV);
Core.inRange(hsvMat, new Scalar(110, 0, 0), new Scalar(160, 255, 255), srcmat1);

​​教程1​​​​这个帖子一定要仔细看​​

2 如何确定阈值

我使用笨办法

调节h的值,然后查看下面的图,看能识别哪类颜色,就向我想要的方向改变参数。

安卓图像处理(六)过滤颜色_scala

​​一个颜色过滤其他的参考​​


举报

相关推荐

0 条评论