资源简介
MATLAB自己实现的分水岭算法,细节都是自己实现的,严格按照原本步骤实现,没有任何加速算法,带一张图片,可与MATLAB自带分水岭算法比较,看不出区别,中科大数字图像分析作业,自己做的,慎重下载
代码片段和文件信息
%%% 获取分水岭,运行时间较长
clear;clc;close all;
img=imread(‘gecko.bmp‘);
img_gray=myrgb2gray(img);
img_gray__=img_gray;
%% 求梯度
img_gray_=double(img_gray);
[GXGY]=mygradient(img_gray_);
img_grad=sqrt(GX.*GX+GY.*GY);
% img_grad=uint8(img_grad);
% imshow(img_grad)
%% 数据预处理 平滑 腐蚀膨胀
img_blur=myblur(img_grad);
img_blur=uint8(img_blur);
%% 腐蚀膨胀
se = strel(‘disk‘2);
Ie = imerode(img_gray se);
Iobr = imreconstruct(Ie img_gray);
Iobrd = imdilate(Iobr se);
Iobrcbr = imreconstruct(imcomplement(Iobrd) imcomplement(Iobr));
Iobrcbr = imcomplement(Iobrcbr);
bw = im2bw(Iobrcbr graythresh(Iobrcbr));
D = bwdist(bw);
D=uint8(D);
% imshow(D[])
%% 获取分水岭 并保存 运行时间较长
water_line=mywatershed(D);
water_line=(water_line~=0);
save(‘water_line.mat‘‘water_line‘)
% water_line__=watershed(D); %与系统函数对比
% water_line_=(water_line__==0)
% imshow(water_line_[])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1425 2017-12-22 20:35 matlab分水岭\fenshuiling.asv
文件 234054 2008-05-27 22:57 matlab分水岭\gecko.bmp
文件 969 2017-12-30 23:37 matlab分水岭\get_waterline.m
文件 333 2017-12-27 22:54 matlab分水岭\img_kmeans.m
文件 638 2017-12-27 13:10 matlab分水岭\myblur.m
文件 614 2017-12-22 22:15 matlab分水岭\mygradient.m
文件 169 2017-12-23 12:54 matlab分水岭\myrgb2gray.m
文件 1643 2017-12-22 21:13 matlab分水岭\mywatershed.m
文件 409 2018-01-03 14:55 matlab分水岭\readme.txt
文件 1568 2018-01-03 14:31 matlab分水岭\regrow.m
文件 1692 2017-12-22 21:17 matlab分水岭\sepcor.m
文件 364 2017-12-30 23:36 matlab分水岭\show_waterline.m
文件 5987 2017-12-30 23:33 matlab分水岭\water_line.mat
目录 0 2018-03-03 12:01 matlab分水岭
----------- --------- ---------- ----- ----
249865 14
- 上一篇:核主成分分析法matlab源代码
- 下一篇:奇异谱分析
评论
共有 条评论