标记分水岭分割算法 如果图像中的目标物体是连接在一起的,则分割起来会更困难,分水岭分割算法 经常用于处理这类问题,通常会取得比较好的效果
分水岭分割算法把图像看成 一幅“地形图”,其中亮度比较强的区域像素值较大,而比较暗的区域像素值较 小,通过寻找“汇水盆地”和“分水岭界限”,对图像进行分割
直接应用分水岭分割算法的效果往往并不好,如果在图像中对前景对象和背景对 象进行标注区别,再应用分水岭算法会取得较好的分割效果
基于标记控制的分 水岭分割方法有以下基本步骤: 1
计算分割函数
图像中较暗的区域是要分割的对象
计算前景标志
这些是每个对象内部连接的斑点像素
计算背景标志
这些是不属于任何对象的像素
修改分割函数,使其仅在前景和后景标记位置有极小值
对修改后的分割函数做分水岭变换计算
使用MATLAB 图像处理工具箱 注:期间用到了很多图像处理工具箱的函数,例如fspecial、imfilter、watershed、 label2rgb、imopen、imclose、imreconstruct、imcomplement、imregionalmax、 bwareaopen、graythresh 和imimposemin 函数等
第一步:读入彩色图像,将其转化成灰度图像 clc; clear all; close all; rgb = imread('Sunset
jpg'); if ndims(rgb) == 3 I = rgb2gray(rgb); else I = rgb; end figure('units', 'normalized', 'position', [0 0 1 1]); subplot(1, 2, 1); imshow(rgb); title(&