【图像检测-裂缝识别】基于计算机实现断裂裂缝识别拼接附matlab代码

1 内容介绍

对二值化断裂裂缝进行裂缝拼接,按照裂缝角度、裂缝端点距离进行生长拼接,能够有效克服噪声点,完成裂缝拼接

2 仿真代码

%

clc; clear all; close all;

img = imread('62.jpg');

%img =rgb2gray(img);

%img=imresize(img,[2048 2048]);

%自适应直方图均衡

%J=adapthisteq(img);

%figure,imhist(J,64);

%img=double(J);

%中值滤波

%img=medfilt2(img,[5,5]);

%r=img(:,:,1); 

%=img(:,:,2); 

%b=img(:,:,3); 

%im=rgb2gray(img);                       % Display the image

%[pc] = phasecongmono(img,4,3,2.1,0.55,3.0,0.5,10,1.5,-1);

%[pc] = phasecongmono(imrec,4,6,2.1,5,10,0.5,10,1.5,-1);

%[pc] = phasecongmono(img,5,5,2.1,0.55,5,0.5,10,1.5,-1);

w=zeros(2048,4096);

for i=5%4:6

[pc] = phasecongmono(img,i,5,2.1,0.55,5,0.5,10,1.5,-1);

% nscale   小波尺度的数量\ minWaveLength  最小尺度滤波器的波长\ mult  连续滤波器之间的缩放因子\

% sigmaOnf 描述频域中的对数Gabor滤波器传递函数的高斯标准偏差与滤波器中心频率的比率。

% k 噪声能量的标准偏差不超过我们设定噪声阈值点的平均值。对于嘈杂的图像,您可能需要更改为10或20的值

% cutOff   频率分布的分数测量值低于相位一致值受到惩罚

%g控制用于频率扩展的相位一致性的Sigmoid函数的过渡的锐度。

% deviationGain  扩大应用于计算出的相位偏差结果。增加这样会锐化边缘响应,但是如果增益太大,也可以衰减其幅度。明智的价值在1-2范围内。

% noiseMethod   参数指定用于确定的方法

%figure;

[T,SM]=graythresh(pc);%高的SM值说明灰度分成2类的可能性高

%T=T*255;

g=im2bw(pc,T);

%g=~g;

%第二图大律法

%figure,subplot(2,1,1);imshow(g);

%imwrite(pc,'D:\学习\图片\lena.jpg');

g=bwareaopen(g,100);%;将小于2000像素的单元去掉

%subplot(2,1,2);;imshow(g);

w=w+g;

end

figure;

subplot(221)

imshow(img);title('原图');

subplot(222)

imshow(pc);title('相位一致性');

subplot(223),imshow(w);

bw =  w(:,1123:end); % 去除赛道部分

img_bridge = myBridge_crack(bw); % 裂缝生长拼接

subplot(224),imshow(img_bridge);title('裂缝图');

3 运行结果

【图像检测-裂缝识别】基于计算机实现断裂裂缝识别拼接附matlab代码_第1张图片

【图像检测-裂缝识别】基于计算机实现断裂裂缝识别拼接附matlab代码_第2张图片

4 参考文献

[1]唐磊, 赵春霞, 王鸿南,等. 基于图像分析的路面裂缝检测和分类[J]. 工程图学学报, 2008, 29(3):6.

[2]任炳兰. 基于Matlab的路面裂缝识别算法研究[D]. 长安大学.​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

你可能感兴趣的:(图像处理,matlab,图像处理,开发语言)