1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/ZJeVmJhw
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
Soble边缘检测算法比较简,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,尤其是对效率要求较高,而对细纹理不太关心的时候。Soble边缘检测通常带有方向性,可以只检测竖直边缘或垂直边缘或都检测。
4.部分源码
...................................................................
figure(1);
subplot(221);
imshow(I2);
title('原始图像');
%阴影分析
[B,I1yy] = func_yydel(I1);
subplot(222);
imshow(I1yy);
title('阴影检测');
%道路提取
[III,XX,YY] = func_daolu1(I2,B);
subplot(223);
imshow(III,[]);
title('道路提取');
%高斯滤波
[III2,III3] = func_gaussfilter(I2,III);
subplot(224);
imshow(III2,[]);
title('高斯滤波图像');
figure(2);
subplot(121);
plot(XX,YY);
title('变换曲线');
axis([0,255,0,255]);
axis square
subplot(122);
imshow(III3,[]);
title('变换后图像');
%**************************************************************************
%**************************************************************************
%本文提出的算法
%本文提出的算法
tic;
[X2,Y2,glf] = func_sobel8(III2,300);
toc;
Times5 = toc;
disp('仿真时间:');
Times5
%**************************************************************************
%**************************************************************************
%Hough
%Hough
tic;
[accum,axis_rho,axis_theta,lineprm,lineseg] = func_Hough(III2,8,0.15);
toc;
Times1 = toc;
disp('仿真时间:');
Times1
%**************************************************************************
%**************************************************************************
%sobel
%sobel
tic;
[X,Y] = func_Sobel(III2);
toc;
Times2 = toc;
disp('仿真时间:');
Times2
%**************************************************************************
%**************************************************************************
%canny
%canny
tic;
[X,Y] = func_Canny(III2);
toc;
Times3 = toc;
disp('仿真时间:');
Times3
%**************************************************************************
%**************************************************************************
%Prewitt
%Prewitt
tic;
[X,Y] = func_Prewitt(III2);
toc;
Times4 = toc;
disp('仿真时间:');
Times4
figure(4);
bar([Times1,Times2,Times3,Times4,Times5]);
title('各个算法仿真时间(Hough,Sobel,Canny,Prewitt,8方向改进Sobel)');
[X2,Y2,glf1] = func_sobel8(III2,100);
[X2,Y2,glf2] = func_sobel8(III2,300);
[X2,Y2,glf3] = func_sobel8(III2,500);
figure(6);
subplot(221);
imshow(I1);
subplot(222);
imshow(glf1);
title('P=100');
subplot(223);
imshow(glf2);
title('P=300');
subplot(224);
imshow(glf3);
title('P=500');
09_048_m