MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)
生活随笔
收集整理的這篇文章主要介紹了
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代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux实战应用案例: 如何在 Lin
- 下一篇: MATLAB问题解决方案- Matlab