基于MATLAB路面裂缝检测识别系统设计
基于MATLAB路面裂缝检测识别系统设计
AbsorbedinU
该公众号在于介绍MATLAB基本技能,智能算法和案例,为所需科研人员提供需求。
欢迎关注工科男的Maltab学习日志,采用Mardown文本编辑器编写文章,全新排版升级,内容、代码更简洁,同时开通了视频号, 工科男的日常 欢迎大家关注。 ——工科男
![]()
基于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(
2
,
2
,
1
); imshow(I); title(
’原图’
);
subplot(
2
,
2
,
2
); imhist(I); title(
’原图直方图’
);
subplot(
2
,
2
,
3
); imshow(s_out); title(
’均衡化结果’
);
subplot(
2
,
2
,
4
); imhist(s_out); title(
’均衡化结果直方图’
);
3 中值滤波去噪
图像在传播时会受到各种噪音的影响,中值滤波器采用非线性计算方式,可很好地过滤脉冲噪音。
s_out1 = medfilt2(s_out);
figure
;
subplot(
2
,
2
,
1
); imshow(s_out); title(
’均衡化结果’
);
subplot(
2
,
2
,
2
); imhist(s_out); title(
’均衡化结果直方图’
);
subplot(
2
,
2
,
3
); imshow(s_out1); title(
’中值滤波’
);
subplot(
2
,
2
,
4
); 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(
2
,
2
,
1
); imshow(s_out1); title(
’均衡化结果’
);
subplot(
2
,
2
,
2
); imhist(s_out1); title(
’均衡化结果直方图’
);
subplot(
2
,
2
,
3
); imshow(newim); title(
’对比度增强’
);
subplot(
2
,
2
,
4
); imhist(newim); title(
’对比度增强直方图’
);
5 二值化处理
二值化就是将一幅图像的所有像素点按照256灰阶分类;每个像素点表示一个灰阶;然后将高于某一灰阶像素全部显示成白色;低于某一灰阶的像素点显示成黑色。这样就完成对一幅图像二值化处理。
T0 = (double(
max
(newim(:))) + double(
min
(newim(:))))/
2
;
flag =
1
;
while
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(
2
,
2
,
3
); imshow(bw); title(
’二值化结果’
);
subplot(
2
,
2
,
4
); imhist(bw); title(
’二值化结果直方图’
);
subplot(
2
,
2
,
1
); imshow(newim); title(
’对比度增强’
);
subplot(
2
,
2
,
2
); 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 作品展示
往期精彩阅读
点击即可阅读原文
-
基于最小二乘法的椭圆拟合 -
基于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的区别 -
你的时光倒映机 -
高逼格坐标轴函
在学习中得到乐趣,在乐趣中收获学习 欢迎关注和分享该公众号。如果您有什么建议可以公众号直接回复即可。期待您的加入,也希望您分享给您身边有需要的人,建议直接将该公众号设为星标记公众号,以免错失精内容,该公众号同时开通了视频号 工科男的日常 ,欢迎扫描下方二维码关注。
QQ技术交流群:272558566
微信扫一扫赞赏作者
赞赏
发送给作者
人赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
