matlab实现Sobel边缘检测
程序员文章站
2024-01-28 08:43:22
...
代码:
clc,clear,close all;
% 打开选择对话框
[filename,pathname] = uigetfile({'*.jpg';'*.png';'*.jpeg';'*.bmp';},'选择图片');
str = [pathname filename];
im = imread(str);
hsi = rgb2hsi(im);
subplot(1,4,1);
imshow(hsi);title('hsi图像');
H = hsi(:,:,1);
S = hsi(:,:,2);
I = hsi(:,:,3);
% 中值滤波
i = medfilt2(I,[5,5]);
subplot(1,4,2);
imshow(im);title('原图像');
% 创建一个预定义的2D滤波器
m = fspecial('sobel'); % 应用sobel算子图像边缘检测
% 2D滤波器
j = filter2(m,i); % sobel算子滤波锐化
% j = edge(i,'sobel');
subplot(1,4,3);imshow(j);
title('sobel算子图像边缘检测');
t = max(j,0);
subplot(1,4,4);imshow(t);
title('max后的sobel算子图像');
其中的rgb2hsi是参考这位博主的,请移步!-》:https://blog.csdn.net/xiaojidan2011/article/details/7968883
下一篇: 苹果日子不好过:供应链也“爆雷”了