MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)
Posted 文宇肃然
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)相关的知识,希望对你有一定的参考价值。
一、简介
二、源代码
clear, close all;
clc;
%1.读取图像并求取图像的边界。
rgb = imread(\'tree.jpeg\');%读取原图像
I = rgb2gray(rgb);%转化为灰度图像
figure; subplot(121)%显示灰度图像
imshow(I)
text(732,501,\'Image courtesy of Corel\',\'FontSize\',7,\'HorizontalAlignment\',\'right\')
hy = fspecial(\'sobel\');%sobel算子,应用sobel算子锐化图像
hx = hy\';
Iy = imfilter(double(I), hy, \'replicate\');%滤波求y方向边缘
Ix = imfilter(double(I), hx, \'replicate\');%滤波求x方向边缘
gradmag = sqrt(Ix.^2 + Iy.^2);%求摸
subplot(122); imshow(gradmag,[]), %显示梯度
title(\'Gradient magnitude (gradmag)\')
%2. 直接使用梯度模值进行分水岭算法:(往往会存在过的分割的情况,效果不好)
L = watershed(gradmag);%直接应用分水岭算法
Lrgb = label2rgb(L);%转化为彩色图像
figure; imshow(Lrgb), %显示分割后的图像
title(\'Watershed transform of gradient magni
以上是关于MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB应用实战系列(七十七)-基于长时间序列栅格数据的MK检验
数学建模MATLAB应用实战系列(七十九)-因子分析法(附MATLAB 和Python代码实现)
数学建模MATLAB应用实战系列(七十九)-因子分析法(附MATLAB 和Python代码实现)
MATLAB实战系列(二十五)-MATLAB交错并联BUCK电路闭环PID设计及分析