首页 > 其他分享 >利用MATLAB打造混凝土结构裂缝识别系统(二)

利用MATLAB打造混凝土结构裂缝识别系统(二)

时间:2024-08-04 15:26:43浏览次数:9  
标签:识别系统 滤波 点击 按钮 MATLAB 图像 裂缝 识别

文章目录


前言

本节主要介绍所设计的混凝土结构裂缝识别系统各个组件的具体操作与效果,不涉及具体的程序。后续会逐步更新讲解每部分的功能与具体如何实现,欢迎关注。
点击此处下载试用软件安装包


在这里插入图片描述

一、操作说明

双击Crack.exe文件进入混凝土结构裂缝识别系统操作界面。对于新用户可以先点击右上角的“在这里插入图片描述
”按钮,查看该系统的具体操作流程和使用方法,如下图所示:

在这里插入图片描述
此外,在系统左侧也提供有一个大概的操作流程,指导用户快速上手操作,如下图所示:

在这里插入图片描述

二、导入图像

了解具体操作之后,即可在输入区域(下图)选择“导入单张图像”按钮或是“导入图像文件”按钮,导入需要处理的图像。若是选择的“导入图像文件”按钮可以点击“ 在这里插入图片描述”上一张按钮或“ 在这里插入图片描述”下一张按钮切换图像,实现图像的连续处理,同时下方会显示当前图像的文件名称。
在这里插入图片描述

三、选择裂缝识别方法

导入图像后,则需根据实际情况选择裂缝识别方法,本系统提供“单裂缝识别”和“多裂缝识别”两种方法(如下图)。
在这里插入图片描述

1.“单裂缝识别”方法

“单裂缝识别”方法只适用于处理图像中只包含一条裂缝的图像。点击“ ”按钮,会弹出种子点数目输入对话框,默认数字为“7”,可以根据裂缝发展情况修改相应数值,然后会接着弹出“是否框选裂缝区域”对话框。
在这里插入图片描述在这里插入图片描述
为减少计算量提高处理速度,可以点击“是”框选只包含裂缝的区域,只需在图像左上角和右下角点击两个点即可框选出裂缝区域;但为了保证图像的完整性,系统默认设置首选“否”。
点击“在这里插入图片描述 ”按钮,即可完成单裂缝骨架的识别与提取。若提取的骨架效果不佳,可以按住“Ctrl+Z”撤销,然后点击“ 在这里插入图片描述”选择框选择其它形态参数进行骨架识别,也可按住“Ctrl+Y”重复之前的操作。

2.“多裂缝识别”方法

“多裂缝识别”方法可以识别相对复杂的裂缝图像,可以是单裂缝、多裂缝和网格裂缝。首先对图像进行滤波处理,本系统提供“空间域滤波”和“频率域滤波”两类处理方法。
“空间域滤波”可以选择更改“滤波算子类型”、“mode”和“size”三类参数,默认选择:“Sobel算子”、“conv”和“replicate”。
在这里插入图片描述
在这里插入图片描述
”提供“理想低/高通滤波”、“高斯低/高通滤波”、“巴特沃斯低/高通滤波”和“各向异性滤波”。点击该选项后会弹出截断频率参数修改对话框,低通滤波所需的截断频率一般较大,可输入150-300处理效果较好,高通滤波所需的阶段频率一般较小可输入1~1.5处理效果较好,对于绝大多数裂缝图像,对裂缝的处理选择高通滤波处理效果较好,故系统默认设置的截断频率为1.3。
在这里插入图片描述
完成滤波处理后,点击“ 在这里插入图片描述”按钮选择阈值分割方法,本系统提供“Ostu法”、“自定义阈值法”、“自适应阈值法”和“二值化处理”。不同的处理方法会有不同的效果,为了得到最佳效果,建议优先选择“自定义阈值法”,可以手动调节阈值至最佳位置。
阈值分割完成后,可点击“ 在这里插入图片描述”按钮选择去噪方法,提高成像效果。本系统提供“中值滤波”、“均值滤波”、 “维纳滤波”、“标准差滤波”和“rangfilt滤波”,根据测试结果,对于绝大部分分割后的裂缝图像,使用中值滤波处理效果最佳,故建议优先选择“中值滤波”进行去噪。
若经过上诉操作后图像中仍存在非裂缝区域,此时可以选择“在这里插入图片描述”按钮,去除或保留图像,得到只包含裂缝的区域,如下图所示:

在这里插入图片描述
完成抠图操作后,即可对得到的裂缝二值图进行边缘检测“在这里插入图片描述 ”。点击“边缘检测”按钮即可,此外可以修改边缘检测算子类型,默认为“Canny”,阈值为0.3。
完成边缘检测后,即可对图像进行“形态学处理”,当然也可以跳过“边缘检测”直接进行形态学处理,“ 在这里插入图片描述”包括:黑白取反、腐蚀、膨胀、开/闭运算、内/外边界提取、删除小面积对象、孔洞充填和顶/底帽变换,此外还可以修改Shape参数,默认为“disk”。
完成上诉操作后即可进行裂缝骨架提取,操作同单裂缝识别,“ 在这里插入图片描述”。
至此“单裂缝识别”和“多裂缝识别”方法的具体操作流程已介绍完毕,接下来即为结果的输出。

四、结果输出与保存

输出区域包括“追踪标记”、“裂缝拟合”和“保存图像”三部分,如下图所示:
在这里插入图片描述
点击“在这里插入图片描述 ”按钮会弹出“图中裂缝是否为水平走向”对话框,若点击“是”则直接进入下一步,若点击“否”则会自动将裂缝图像旋转至水平走向。
在这里插入图片描述
之后则会弹出“是否计算实际尺寸”对话框,若点击“是”则会弹出“修改基本参数”对话框,需要输入相机与物体间的实际距离L(cm)、相机焦距f(mm)、相机传感器尺寸(mm)和物体与水平面之间的夹角(°)参数信息,点击“确定”按钮则会计算出裂缝的实际长度和裂缝的平均宽度;
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
若点击“否”则会计算裂缝的像素长度和裂缝的平均像素宽度。具体结果如下图所示:
在这里插入图片描述
对于单裂缝图像,点击“ 在这里插入图片描述”按钮还可对识别出的裂缝进行曲线拟合,拟合结果用于其他处理如分形维数计算等。
点击“在这里插入图片描述”选项,可以保存计算过程中的“滤波图像”、“骨架图像”、“去噪图像”和“当前窗口”,对于最终识别的裂缝图像只能选择“当前图像”进行保存。

实际识别效果展示

左侧为原图,右侧为识别图。

墙体裂缝:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

道路裂缝:

在这里插入图片描述在这里插入图片描述

衬砌裂缝:

在这里插入图片描述在这里插入图片描述

桥面裂缝:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

房屋楼板裂缝:

在这里插入图片描述

标签:识别系统,滤波,点击,按钮,MATLAB,图像,裂缝,识别
From: https://blog.csdn.net/weixin_44886253/article/details/140906143

相关文章

  • Matlab实现GAF-PCNN-MATT、GASF-CNN、GADF-CNN的多特征输入数据分类预测/故障诊断
    对于使用GAF-PCNN-MATT、GASF-CNN、GADF-CNN技术来进行多特征输入数据的分类预测或故障诊断,你可以考虑以下步骤:数据准备:准备你的多特征输入数据集,确保数据的质量和一致性。每个样本应该包含多个特征。特征提取:使用GramianAngularField(GAF)、GramianAngularSecto......
  • 基于IEEE802.11g标准的OFDM信号帧检测matlab仿真
    1.程序功能描述     现有的无线通信信道共享的无线信号识别为将来的软件定义的无线电系统是一个巨大的挑战。在这个项目中,学生将制定IEEE802.11无线信号在AWGN信道,利用MATLAB/Simulink技术来识别。一个完整的发射机模式将开发和实施。在AWGN信道下的性能进行评估。 基......
  • 如何利用Matlab网格生成器画太极
    注:首先要懂几何函数的定义!代码:1.主函数:clc,clear;closeall;g1=[1111;20-20;0-202;020-2;20-20;1221;0000;0000;0000;2222];%大○g2=[1111;010-1;10-10;-2-121;-1010;2211;1122;0000;-1-111;1111];%......
  • MATLAB生成各类区域网格剖分
    一、双洞模型代码:hg=[1111111120-20010-10-20210-10020-2012120-2012101111000000001111000000000000111122221111];ug=[1111010-1......
  • 灰狼优化算法(GWO)与长短期记忆网络(LSTM)结合的预测模型(GWO-LSTM)及其Python和MATLAB实现
    ####一、背景在现代数据科学和人工智能领域,预测模型的准确性和效率是研究者和工程师不断追求的目标,尤其是在时间序列预测、金融市场分析、气象预测等领域。长短期记忆(LSTM)网络是一种解决传统递归神经网络(RNN)在长序列学习中存在的梯度消失和爆炸问题的有效模型。LSTM能够保持......
  • 灰狼优化算法(GWO)与门控循环单元(GRU)结合的预测模型(GWO-GRU)及其Python和MATLAB实现
    ####一、背景深度学习已成为解决复杂时序数据预测问题的重要工具。在众多神经网络架构中,门控循环单元(GatedRecurrentUnit,GRU)凭借其在捕捉时间序列数据中的长程依赖性和相对较低的计算复杂度而受到广泛关注。此外,优化算法在深度学习模型的训练中扮演着至关重要的角色。灰......
  • 【MATLAB源码】机器视觉与图像识别技术(7)续---BP神经网络
    系列文章目录在最后面,各位同仁感兴趣可以看看!BP神经网络第一节、BP网络定义第二节、BP网络结构及其特点第三节、信息传播方式信息的正向传播:实质是计算网络的输出误差的反向传播:实质是学习过程第四节、BP网络的算法流程图及设计第五节、BP网络的局限与不足第八节、BP网络......
  • 【MATLAB源码】数学建模基础教程---初步认识数学建模
    系列文章目录在最后面,各位同仁感兴趣可以看看!什么是数学建模含义1.区分数学模型和数学建模2.建立数学模型的注意事项3.数学建模流程图解4.数学建模模型分类5.论文常用套路6.最后:总结系列文章目录含义所谓数学建模,简言之,就是对研究对象进行系统的抽象和概化,进而形成数学......
  • MATLAB(16)评价模型
    一、前言    在MATLAB中实现各种评价模型,如模糊评价、层次分析法(AHP)、综合评价模型、主成分分析(PCA)、数据包络分析(DEA,也称为数据包络分析或DataEnvelopmentAnalysis)和神经网络模型评价,需要编写相应的代码或使用MATLAB的内置函数和工具箱。下面我将为每种方法提供一......
  • MATLAB(15)分类模型
    一、前言    在MATLAB中,实现不同类型的聚类(如K-means聚类、层次聚类、模糊聚类)和分类(如神经网络分类)需要用到不同的函数和工具箱。下面我将为每种方法提供一个基本的示例代码。二、实现1.K-means聚类%假设X是数据矩阵,每行是一个样本,每列是一个特征X=[randn......