• 【图像检测-裂缝识别】基于计算机实现断裂裂缝识别拼接附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 运行结果

    4 参考文献

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

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

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

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

  • 相关阅读:
    数据结构系列学习(四) - 单向循环链表(Circular Linked List)
    cnpm的版本锁定问题的解决方案
    RabbitMQ项目实战(一)
    “羊驼“入侵CV,美团&浙大沈春华团队将LLaMA向CV扩展,构建全新基础模型VisionLLaMA
    hello world的本质是什么?
    Vue 官方文档2.x教程学习笔记 1 基础 1.3 Vue 实例 1.3.1 创建一个Vue 实例 & 1.3.2 数据与方法
    Redis 持久化
    「帝国风暴兵」加入 The Sandbox,推出真实的全新人物化身系列和体验!
    基于C#的消息处理的应用程序 - 开源研究系列文章
    docker基本命令
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126455155