转载请说明出处!
作者:kqw攻城狮
出处:个人站 | CSDN
效果图
源码
阈值化是一种将我们想要在图像中分析的区域分割出来的方法。
我们把每个像素值都与一个预设的阈值做比较,再根据比较的结果调整像素值。
类似这样
|
|
其中100是阈值,255是最大值(纯白色的值)。
常量
名称 | 常量 |
---|---|
二值阈值化 | Imgproc.THRESH_BINARY |
阈值化到零 | Imgproc.THRESH_TOZERO |
截断阈值化 | Imgproc.THRESH_TRUNC |
反转二值阈值化 | Imgproc.THRESH_BINARY_INV |
反转阈值化到零 | Imgproc.THRESH_TOZERO_INV |
自适应阈值
上述的阈值化是全局性的,我们也可以根据邻域像素为任意像素计算阈值。
自适应阈值用到的3个参数
自适应方法
- Imgproc.ADAPTIVE_THRESH_MEAN_C:阈值是邻域像素的值
- Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C:阈值是领域像素的加权和,权重来自高斯核
块尺寸:邻域的大小
- 常量C:从对每个像素计算得到的均值或加权均值减去的常量
图像置灰
|
|
自适应阈值化
|
|
封装
这里我用到了RxJava。主要是因为图片处理是耗时操作,会阻塞线程,为了防止界面卡顿,这里使用RxJava进行了线程切换。
|
|
调用
|
|