当前位置:   article > 正文

图像分割-Python_基于边缘的图像分割pythoncsdn

基于边缘的图像分割pythoncsdn

1. 图像分割

是指通过某种方法,使得画面场景中的目标物被分为不同的类别。通常图像分割的实现方法是,将图像分为“黑”、“白”两类,这两类分别代表了两个不同的对象。因为结果图像为二值图像,所以通常又称图像分割为图像的二值化处理。

图像分割将图像中有意义的特征或需要应用的特征提取出来。按幅度不同来分割各个区域,称为幅度分割;按边缘不同来划分各个区域,称为边缘检测;按形状不同来分割各个区域,称为区域分割。

重用的图像分割的方法如下:

(1)基于边缘的分割方法:先提取区域边界,再确定边界限定的区域。

(2)区域分割:确定每个像素的归属区域,从而形成一个区域图。

(3)区域生长:将属性接近的连通像素聚集成区域。

(4)分裂-合并分割:综合利用前两种方法,既存在图像的划分,又有图像的合并。

2. 边缘

边缘是指图像中像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘分为阶跃状和屋顶状两类。主要介绍一下三种边缘检测方法:

(1)梯度算子:为了检测边缘点,选取适当的阈值T,对梯度图像进行二值化:

这样形成了一幅边缘二值图像g(x, y)。

模板:

梯度算法的特点是仅计算相邻像素的灰度差,对噪声比较敏感,无法抑止噪声的影响。

(2)Roberts算子

公式:

模板

特点:与梯度算子检测边缘的方法类似,对噪声敏感,但效果较梯度算子略好。

(3)Prewitt算子

公式:

模板:

特点:在检测边缘的同时,能抑止噪声的影响。

(4)Sobel算子

公式:

模板:

特点:对4邻域采用带权方法计算差分;能进一步抑止噪声;但检测的边缘较宽。

3. **Threshold()**函数

threshold 方法是通过遍历灰度图中点,将图像信息二值化,处理过后的图片只有二种色值。

  1. void Threshold(

  2. const CvArr* src,

  3. CvArr* dst,

  4. double threshold,

  5. double max_value,

  6. int threshold_type

参数说明

src:源图像,可以为8位的灰度图,也可以为32位的彩色图像。

dst:输出图像。

thresh:阈值。

maxval:dst图像中最大值。

type:阈值类型。

4. **adaptiveThreshold()**函数

函数作用是运用自适应阈值分割对图像进行处理。

  1. Void adaptiveThreshold( const CvArr* src, CvArr* dst, double max_value, intadaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,

  2. 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/148764
推荐阅读
相关标签
  

闽ICP备14008679号