首页 > 行业资讯 > 基于MATLAB路面裂缝检测识别系统设计

基于MATLAB路面裂缝检测识别系统设计

时间:2022-02-28 来源: 浏览:

基于MATLAB路面裂缝检测识别系统设计

原创 浅蓝格子白衬衫 工科男的Matlab学习日志
工科男的Matlab学习日志

AbsorbedinU

该公众号在于介绍MATLAB基本技能,智能算法和案例,为所需科研人员提供需求。

收录于话题
#工科男 4
#MATLAB 7

欢迎关注工科男的Maltab学习日志,采用Mardown文本编辑器编写文章,全新排版升级,内容、代码更简洁,同时开通了视频号, 工科男的日常 gōng kē nán de rì cháng 欢迎大家关注。  ——工科男

基于MATLAB路面裂缝检测识别系统设计

本期介绍如何采用MATLAB进行路面裂缝检测识别,属于数字图像处理在道路工程中的应用。通过导入路面图像,能够实现裂缝标记、测距等功能。赞赏作者自动发送源码素材链接。

  • 1 载入图像

  • 2 直方图均衡化

  • 3 中值滤波去噪

  • 4 对比度增强

  • 5 二值化处理

  • 6 二值图像滤波

  • 7 裂缝识别

  • 8作品展示

  • 往期精彩阅读

1 载入图像

现有路面裂缝图像,如下图所示。

路面裂缝图像

MATLAB中读取图像代码。

[filename, pathname] = uigetfile({ ’*.jpg;*.tif;*.png;*.gif’ , ’All Image Files’ ;...      ’*.*’ , ’All Files’  }, ’载入图像’ ,...     fullfile(pwd,  ’images’ )); if   isequal (filename,  0 ) ||  isequal (pathname,  0 )      return ; end I = imread(fullfile(pathname, filename)); if   ndims (I) ==  3     I1 = rgb2gray(I); else     I1 = I; end imshow(I1)

路面裂缝图像

2 直方图均衡化

直方图均衡化(Histogram Equalization)是一种增强图像对比度(Image Contrast)的方法,其主要思想是将一幅图像的直方图分布变成近似均匀分布,从而增强图像的对比度。

s_out = histeq(I1); subplot( 221 ); imshow(I); title( ’原图’ ); subplot( 222 ); imhist(I); title( ’原图直方图’ ); subplot( 223 ); imshow(s_out); title( ’均衡化结果’ ); subplot( 224 ); imhist(s_out); title( ’均衡化结果直方图’ );

路面裂缝检测识别系统设计——直方图均衡化

3 中值滤波去噪

图像在传播时会受到各种噪音的影响,中值滤波器采用非线性计算方式,可很好地过滤脉冲噪音。

s_out1 = medfilt2(s_out); figure ; subplot( 221 ); imshow(s_out); title( ’均衡化结果’ ); subplot( 222 ); imhist(s_out); title( ’均衡化结果直方图’ ); subplot( 223 ); imshow(s_out1); title( ’中值滤波’ ); subplot( 224 ); imhist(s_out1); title( ’中值滤波直方图’ );

路面裂缝检测识别系统设计——中值滤波去噪

4 对比度增强

通过归一化进行对比度增强

if  isa(s_out1, ’uint8’ );     newim = double(s_out1); else     newim = s_out1; end newim = newim- min ( min (newim)); newim = newim./ max ( max (newim)); newim =  newim.^( 1 / 2 );   figure ; subplot( 221 ); imshow(s_out1); title( ’均衡化结果’ ); subplot( 222 ); imhist(s_out1); title( ’均衡化结果直方图’ ); subplot( 223 ); imshow(newim); title( ’对比度增强’ ); subplot( 224 ); imhist(newim); title( ’对比度增强直方图’ );

路面裂缝检测识别系统设计——对比度增强

5 二值化处理

二值化就是将一幅图像的所有像素点按照256灰阶分类;每个像素点表示一个灰阶;然后将高于某一灰阶像素全部显示成白色;低于某一灰阶的像素点显示成黑色。这样就完成对一幅图像二值化处理。

T0 = (double( max (newim(:))) + double( min (newim(:))))/ 2 ; flag =  1while  flag     ind1 = newim > T0;      ind2 = ~ind1;     T1 = ( mean (double(newim(ind1))) +  mean (double(newim(ind2))))/ 2 ;     flag =  abs (T1-T0) >  0.5 ;     T0 = T1;  end bw = ind1; th = T1; figure ; subplot( 223 ); imshow(bw); title( ’二值化结果’ ); subplot( 224 ); imhist(bw); title( ’二值化结果直方图’ ); subplot( 221 ); imshow(newim); title( ’对比度增强’ ); subplot( 222 ); imhist(newim); title( ’对比度增强直方图’ );

路面裂缝检测识别系统设计——二值化处理

6 二值图像滤波

在CT图片中,选择要分析的两点之间距离,根据比例尺,计算真是距离。

bw = ~bw; [L, num] = bwlabel(bw,  8 );  Ln =  zeros ( 1 , num); stats = regionprops(L,  ’Area’ );  Ln =  cat ( 1 , stats.Area); [Ln, ind] =  sort (Ln); keepnum =  15 ; if  num>keepnum || num==keepnum      for   i  =  1  : num-keepnum         bw(L == ind( i )) =  0 ;      end end bwn = bw;

路面裂缝检测识别系统设计——二值图像滤波

7 裂缝识别

[L, num] = bwlabel(bw);  stats = regionprops(L,  ’Area’’MajorAxisLength’ , ...      ’MinorAxisLength’ );  Ap =  cat ( 1 , stats.Area); Lp1 =  cat ( 1 , stats.MajorAxisLength); Lp2 =  cat ( 1 , stats.MinorAxisLength);  Lp = Lp1./Lp2;  for   i  =  1  : num      if  Ap( i ) < MinArea         bw(L ==  i ) =  0 ;      end end MinRate =  max (Lp)* 0.4 ; for   i  =  1  : num      if  Lp( i ) < MinRate         bw(L ==  i ) =  0 ;      end end

路面裂缝检测识别系统设计——二值图像滤波

8 作品展示

<iframe allowfullscreen="" class="video_iframe rich_pages" data-cover="http%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FyftSorU7Hib4AmnUvPdpJdmQdBE92x1a5eFURpAH3jnJzbBYMaM6qPd1lUWVhnSkPJYOib6v0dVPUHIuaGianpOuw%2F0%3Fwx_fmt%3Djpeg" data-mpvid="wxv_2276158411333500938" data-ratio="1.4370370370370371" src="http://www.cnmhg.com/e/admin126459646/showimg.php?url=https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_2276158411333500938" data-vidtype="2" data-w="1552" frameborder="0"></iframe>

往期精彩阅读

点击即可阅读原文

  • 基于最小二乘法的椭圆拟合
  • 基于MATLAB的骨骼测量系统——医学影像研究
  • 基于MATLAB的答题卡识别系统
  • MATLAB建模实例——时间序列分析
  • MATLAB建模实例——微分方程
  • MATLAB建模实例——差分方程
  • MATLAB优化算法实例——神经网络
  • MATLAB优化算法实例——蚁群算法
  • MATLAB优化算法实例——模拟退火算法
  • MATLAB优化算法实例——遗传算法
  • MATLAB自动发送邮件
  • 基于MATLAB的视觉加密技术
  • 谁说工科男不解风情(二)
  • 谁说工科男不解风情(一)
  • 自动执行文本中的 MATLAB 表达式——关于eval函数的使用技巧
  • 条形图学习札记——如何排序并指定坐标标签
  • MATLAB图论实例——最短路径
  • A、C频率计权网络
  • MATLAB函数库大全(收藏版)
  • MATLAB符号计算(收藏版)
  • 科技论文写作WORD必备技巧——排版
  • 数学建模——无约束优化问题
  • 基于MATLAB的核放射素查询系统
  • 基于MATLAB云图背景图片的添加(一)
  • 基于MATLAB文本转语音包的实现
  • MATLAB调用摄像头实例
  • 基于MATLAB制作简易画板
  • 基于MATLAB的验证码生成与验证系统
  • 基于MATLAB的心电图信号分析与处理
  • 基于MATLAB定时器timer函数制作数字万年历
  • Lamb频散曲线快速绘制软件
  • 软著——高阶椭圆齿轮副参数设计与分析系统
  • 您有一份软件著作权请查收
  • 高阶齿轮副参数设计系统
  • 日常札记——关于极坐标绘图的若干小问题
  • MATLAB版本的扫雷小游戏
  • 基于MATLAB视频处理——抖音小视频去除水印
  • 抖音上火起来的来的撩妹神器
  • 基于compass函数的时钟制作
  • MATLAB版本的俄罗斯方块
  • 凉凉——可变速小风扇
  • 如何验证身份证号码是否合法
  • 如何验证邮箱名是否合法
  • 学习MATLAB必备的小技巧 一
  • 基于hough变换的直线检测
  • MATLAB 如何生成 APP ———以运动模糊图像复原为例
  • 高效办公路上MATLAB助你一臂之力
  • 微积分问题的MATLAB求解(二)——龙贝格积分的算法实现
  • 微积分问题的MATLAB求解(一)
  • 技巧篇——如何抓取网页中的图片
  • MATLAB 数据类型
  • 数据插值与拟合
  • 程序设计基础
  • 符号计算
  • 多项式基本操作
  • plot3与mesh的区别
  • 你的时光倒映机
  • 高逼格坐标轴函

在学习中得到乐趣,在乐趣中收获学习 zài xué xí zhōng dé dào lè qù ,zài lè qù zhōng shōu huò xué xí 欢迎关注和分享该公众号。如果您有什么建议可以公众号直接回复即可。期待您的加入,也希望您分享给您身边有需要的人,建议直接将该公众号设为星标记公众号,以免错失精内容,该公众号同时开通了视频号 工科男的日常 gōng kē nán de rì cháng ,欢迎扫描下方二维码关注。 QQ技术交流群:272558566

浅蓝格子白衬衫

赞赏二维码 微信扫一扫赞赏作者 赞赏

已喜欢, 对作者说句悄悄话
最多40字,当前共

  人赞赏

1 / 3

长按二维码向我转账

赞赏二维码

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐