1.二值图像的定义
二值图像就是图像中灰度值只有2个的图像,一般就是黑白图像,2个灰度值分别为0(表示黑色)和255(表示白色)。二值图像处理与分析在机器视觉与机器人视觉中非常重要,涉及到非常多的图像处理相关的知识。
常见的二值图像分析包括轮廓分析、对象测量、轮廓匹配与识别、形态学处理与分割、各种形状检测与拟合、投影与逻辑操作、轮廓特征提取与编码等。此外图像二值化的方法也有很多,OpenCV支持几种经典的二值化算法。
从编程与代码角度来说,OpenCV中二值图像是单通道的、字节类型的Mat对象。对于任意的输入图像首先需要把图像转换为灰度图,然后通过二值化方法转换为二值图像。本质上来说,从灰度到二值图像是对数据的二分类分割,所以很多数据处理的方法都可以使用,但是图像是特殊类型的数据,它有很多限制条件,这决定了只有一些合适的方法才会取得比较好的效果。这些方法的本质任务就是寻找合理的分割阈值T,使得对于任意一个给定的像素点灰度值经过如下变换成为0或255其中的一个:
P(x,y)={255,0,P(x,y)>T.P(x,y)≤T.
2.OpenCV中的基本阈值操作
如果已经寻找到合适的阈值T
,那么对图像二值化分割可以看成是一种基本的阈值化操作,OpenCV
除了支持正常的二值化阈值分割操作之外,还支持一些其它的阈值操作。
OpenCV
中支持的基本阈值操作的C++ API
如下:
2.OpenCV中的基本阈值操作
如果已经寻找到合适的阈值T
,那么对图像二值化分割可以看成是一种基本的阈值化操作,OpenCV
除