本帖最后由 black_angel 于 2015-5-15 14:33 编辑
Zhang-Suen的细化算法的matlab程序中,使用了while循环来实现细化,提取骨架。代码如下:
clc,clear
addpath('D:\Program files\MATLAB\R2013a\bin\Thinning\Thinning\data')
Img_Original = imread('54.bmp');
Otsu_Threshold = graythresh(Img_Original);
BW_Original = not(im2bw(Img_Original,Otsu_Threshold));
changing = 1;
[rows, columns] = size(BW_Original);
BW_Thinned = BW_Original;
BW_Del= ones(rows, columns);
N=0; % 统计迭代次数
while changing
% BW_Del = ones(rows, columns);
changing = 0;
% Setp 1
B={};
for i=2:rows-1
for j = 2:columns-1
P = [BW_Thinned(i,j) BW_Thinned(i-1,j) BW_Thinned(i-1,j+1) BW_Thinned(i,j+1) BW_Thinned(i+1,j+1) BW_Thinned(i+1,j) BW_Thinned(i+1,j-1) BW_Thinne