赞
踩
1. 图像分割
是指通过某种方法,使得画面场景中的目标物被分为不同的类别。通常图像分割的实现方法是,将图像分为“黑”、“白”两类,这两类分别代表了两个不同的对象。因为结果图像为二值图像,所以通常又称图像分割为图像的二值化处理。
图像分割将图像中有意义的特征或需要应用的特征提取出来。按幅度不同来分割各个区域,称为幅度分割;按边缘不同来划分各个区域,称为边缘检测;按形状不同来分割各个区域,称为区域分割。
重用的图像分割的方法如下:
(1)基于边缘的分割方法:先提取区域边界,再确定边界限定的区域。
(2)区域分割:确定每个像素的归属区域,从而形成一个区域图。
(3)区域生长:将属性接近的连通像素聚集成区域。
(4)分裂-合并分割:综合利用前两种方法,既存在图像的划分,又有图像的合并。
2. 边缘
边缘是指图像中像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘分为阶跃状和屋顶状两类。主要介绍一下三种边缘检测方法:
(1)梯度算子:为了检测边缘点,选取适当的阈值T,对梯度图像进行二值化:
这样形成了一幅边缘二值图像g(x, y)。
模板:
梯度算法的特点是仅计算相邻像素的灰度差,对噪声比较敏感,无法抑止噪声的影响。
(2)Roberts算子
公式:
模板
特点:与梯度算子检测边缘的方法类似,对噪声敏感,但效果较梯度算子略好。
(3)Prewitt算子
公式:
模板:
特点:在检测边缘的同时,能抑止噪声的影响。
(4)Sobel算子
公式:
模板:
特点:对4邻域采用带权方法计算差分;能进一步抑止噪声;但检测的边缘较宽。
3. **Threshold()**函数
threshold 方法是通过遍历灰度图中点,将图像信息二值化,处理过后的图片只有二种色值。
void Threshold(
const CvArr* src,
CvArr* dst,
double threshold,
double max_value,
int threshold_type
参数说明
src:源图像,可以为8位的灰度图,也可以为32位的彩色图像。
dst:输出图像。
thresh:阈值。
maxval:dst图像中最大值。
type:阈值类型。
4. **adaptiveThreshold()**函数
函数作用是运用自适应阈值分割对图像进行处理。
Void adaptiveThreshold( const CvArr* src, CvArr* dst, double max_value, intadaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,
intthreshold_type=CV_THRESH_BINARY, int block_size=3, double param1=5 );
函数说明:
src:输入图像。
dst:输出图像。
max_value:使用 CV_THRESH_BINARY 和CV_THRESH_BINARY_INV 的最大值。
adaptive_method:自适应阈值算法使用CV_ADAPTIVE_THRESH_MEAN_C 或 CV_ADAPTIVE_THRESH_GAUSSIAN_C。
threshold_type:取阈值类型,必须是CV_THRESH_BINARY或者CV_THRESH_BINARY_INV之一。
block_size:用来计算阈值的象素邻域大小: 3, 5, 7, ...
param1:与方法有关的参数。对方法 CV_ADAPTIVE_THRESH_MEAN_C 和 CV_ADAPTIVE_THRE
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。