该篇文章是在老师指导下完成的作业,感谢老师的指导。
分水岭分割借鉴了形态学理论,是一种新的基于区域的图形分割算法。在该方法中,将一幅图像看成一个地形图,灰度值对应地形的高度值,高度值对应着山峰,低灰度值对应着山谷。水总是朝地势低的地方流动,直到某个局部低洼处,这个低洼处就是盆地,最终所有的水都会处于不停地盆地,盆地之间的山脊称为分水岭。
1、使用距离变换的分水岭分割:
距离变换:每一个像素到最邻近非零值像素的距离。
程序:
clear all;close all;clc
fobrcbr=imread('F:\matlab\MATLAB上机操作\图形\f1.tif');
level=graythresh(uint8(fobrcbr));
g=im2bw(fobrcbr,level); %用阈值法把平滑后的图像变为二值图像
subplot(221)
imshow(g,[])
title('二值图像')
gc=~g;
subplot(222)
imshow(gc,[])
title('二值图像的补图像')
D=bwdist(gc); %求二值图像的距离变换
subplot(223)
imshow(D,[])
title('距离变换')
L=watershed(-D); %