matlab图像边缘识别(prewitt)

先放大招直接上代码段和运行结果

%%  读取图像并转换成灰度图
I = imread( "ex.JPG" ) ;
T_B = rgb2gray( I ) ;
I_B = im2double ( T_B ) ;
%% sharp(图像锐化)
%% H 为常用的拉普拉斯算子
H = [ 0 ,1 , 0 ; 0 , -4 , 0 ; 0 , 1 ,0 ] ;
T_S = conv2 ( I_B ,H ,"same" ) ;
K = T_S - I_B ; 
%% prewitt 算子计算图像边缘
[ I_E , thresh ] =edge (K , "prewitt" , [] , "both" ) ;
%% sharp(图像再次锐化)、保存
T_E = conv2 ( I_E ,H ,"same" ) ;
K_1 = T_E - I_B ;
imwrite ( I_E , "EDGE_1.jpg" ) ;
%

实验图片(本图为作者扫街所拍,禁止转载,翻版必究!)
边缘识别后的图片matlab图像边缘识别(prewitt)_第1张图片

你可能感兴趣的:(matlab,图像分割技术,复杂边缘检测)