《数字图像处理与机器视觉》案例二(基于边缘检测和数学形态学焊缝图像处理)

news2024/11/26 0:26:39

一、前言

    焊缝是评价焊接质量的重要标志,人工检测方法存在检测标准不统一,检测精度低,焊缝视觉检测技术作为一种重要的质量检测方法,正逐渐在各行各业中崭露头角。把焊缝准确的从焊接工件中准确分割出来是焊缝评价的关键一步,是后续焊缝质量评价的重要依据。焊缝图像一般照度不均匀,传统的单一阈值分割和边缘检测方法,无法很好实现焊缝的分割和边缘检测。因此,本案例提出了一种基于边缘检测并结合数学形态学方法实现焊缝背景分割和边缘检测,取得了良好的分割效果。

二、程序代码

clear all;
close all;
clc;
I=imread('.\WeldingSeam.jpg');%读入焊缝图像
figure,imshow(I);
[m,n,d]=size(I);%获得图像的尺寸
Igray=rgb2gray(I);           %彩色图像转灰度图像
IgrayEdge=edge(Igray,'canny',0.3,'vertical');%使用Canny算子提取灰度图像的边缘
figure,imshow(IgrayEdge),title('边缘检测后图像');  %边缘不连续
IgrayEdge(1:m,1:300)=0;
IgrayEdge(1:m,421:n)=0;
figure,imshow(IgrayEdge);%经过处理后的边缘图像
im2=bwareaopen(IgrayEdge,90);%移除小目标(小于90个像素的目标被移除)
figure,imshow(im2);title('边缘图像2');
se =strel('disk',360,0);  %选择合适的结构元素
im3=imclose(im2,se);      %闭运算-可以将两个临近的目标连接起来
figure,imshow(im3);title('闭运算');
im4=bwfill(im3,'holes');    %图像填充
figure,imshow(im4),title('填充孔洞')
obj=uint8(im4).*I;
figure,imshow(obj);title('焊缝分割彩色图像');
figure,
subplot(2,3,1),imshow(I),title('焊缝图像');
subplot(2,3,2),imshow(Igray),title('灰度图像');
subplot(2,3,3),imshow(IgrayEdge),title('边缘图像1');
subplot(2,3,4),imshow(im2),title('边缘图像2');
subplot(2,3,5),imshow(im4),title('数学形态学运算');
subplot(2,3,6),imshow(obj),title('分割后的焊缝图像');
WS_edge=bwmorph(im4,'remove');
figure,imshow(WS_edge),title('提取的焊缝边界');

三、部分运行结果

四、原始图像

如果觉得本案例对大家今后的编程有帮助,请点赞和收藏。如有改进意见可以与我联系,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用模板方法设计模式封装 socket 套接字并实现Tcp服务器和客户端 简单工厂模式设计

文章目录 使用模板方法设计模式封装套接字使用封装后的套接字实现Tcp服务器和客户端实现Tcp服务器实现Tcp客户端 工厂模式 使用模板方法设计模式封装套接字 可以使用模块方法设计模式来设计套接字 socket 的封装 模板方法(Template Method)设计模式是一…

百度ueditor如何修改图片的保存位置

背景 编辑器的保存图片是设置有默认规则的,但是服务器上一般会把图片路径设置为软连接,所以我就需要更改编辑器保存图片的路径,要不然,每次有新的部署,上一次上传的图片就会失效。先来看看编辑器默认的保存路径吧&…

目标检测算法之RT-DETR

RT-DETR算法理解 BackgroundModel ArchitectureEfficient Hybrid EncoderUncertainty-minimal Query Selection 总结 Background Real-time Detection Transformer(RT-DETR)是一个基于tranformer的实时推理目标检测模型。RT-DETR是2023年百度发布的一个…

七天速通javaSE:第五天 数组进阶

文章目录 前言一、二维数组二、Arrays类1.toString打印数组内各元素1.1 示例1.2 自己实现内部逻辑 2. sort升序排列3. fill数组填充(重新赋值)4.equals比较数组元素是否相等 三、冒泡排序 前言 本文将学习二维数组、arrays类以及冒泡排序 一、二维数组 …

重生奇迹MU新手攻略:如何一步步往大佬发展

装备强化攻略: 提纯装备:通过提纯装备可以提升基础属性,选择合适的装备进行提纯可以获得更好的效果。 镶嵌宝石:使用宝石进行装备镶嵌可以增加装备的属性,根据需要选择适合的宝石进行镶嵌。 洗练装备:通…

基于盲信号处理的声音分离——最大化信噪比的ICA算法

基于最大化信噪比的ICA算法是一种较新模式的ICA算法,在该算法中利用输出信号的信噪比建立信噪比函数作为该算法的代价函数。 在上式中,用S表示原信号,Y表示输出信号。由于原信号S并不知道,因此采用估计信号Y的滑动平均 来代替&…

激励视频广告的eCPM更高,每天的展示频次有限制吗?

在APP发展初期,由于DUA量级有限,所需的广告资源比较少,往往接入1-2家广告平台就能满足APP用户每日需要的广告展示量。而随着APP用户规模的扩大、广告场景的不断丰富,开发者要提升APP整体广告变现收益,一是可以尽可能多…

PLC数据采集案例

--------天津三石峰科技案例分享 项目介绍 项目背景 本项目为天津某钢铁集团下数字化改造项目,主要解决天津大型钢厂加氢站数字化改造过程中遇到的数据采集需求。项目难点PLC已经在运行了,需要采集里面数据,不修改程序,不影响P…

3D立体卡片动效(附源码)

3D立体卡片动效 欢迎关注:xssy5431 小拾岁月参考链接:https://mp.weixin.qq.com/s/9xEjPAA38pRiIampxjXNKQ 效果展示 思路分析 需求含有立体这种关键词,我们第一反应是采用动画中的平移、倾斜等实现。如果是立体,必然产生阴影&…

浅谈制造业EHS管理需要关注的重点

在快速发展的制造业中,EHS(环境、健康、安全)管理体系如同一道坚实的屏障,守护着企业的绿色与安全。那么,这个管理体系到底包含哪些内容呢?接下来,让我们一同探寻其奥秘。 一、EHS管理体系的丰富…

你的钱花得值不值?简谈FMEA培训的投资与回报

在探讨 FMEA(失效模式及影响分析)培训是否值得投资时,需要综合考虑多个方面。 从投资的角度来看,FMEA 培训通常需要一定的费用支出,包括培训课程的费用、培训期间员工的时间成本以及可能涉及的培训材料和设备成本。 然…

利用MMDetection将单阶段检测器作为Faster R-CNN的RPN

将单阶段检测器作为RPN 一、在 Faster R-CNN 中使用 FCOSHead 作为 RPNHead与原始配置的对比结果Neck (FPN)RPN HeadROI Head学习率 使用单阶段检测器作为RPN的优势1. 速度提升2. 准确性3. 简化架构4. 灵活性 二、评估候选区域三、用预先训练的 FCOS 训练定制的 Faster R-CNN 本…

Excel单元格输入逐字动态提示可选输入效果制作

Excel单元格输入逐字动态提示可选输入效果制作。INDEX函数整理动态列表,再配合IF函数干净界面,“数据验证”完成点选。 (笔记模板由python脚本于2024年06月27日 22:26:14创建,本篇笔记适合喜欢用Excel处理数据的coder翻阅) 【学习的细节是欢悦…

【数据集划分——针对于原先图片已经整理好类别】训练集|验证集|测试集

目标:用split-folders进行数据集划分 学习资源:https://www.youtube.com/watch?vC6wbr1jJvVs 努力的小巴掌 记录计算机视觉学习道路上的所思所得。 现在已经有了数据集,并且,注意,是已经划分好类别的! …

基于ARM的通用的Qt移植思路

文章目录 实验环境介绍一、确认Qt版本二、确认交叉编译工具链三、配置Qt3.1、修改qmake.conf3.2、创建autoConfig.sh配置文件 四、编译安装Qt五、移植Qt安装目录六、配置Qt creator6.1、配置qmake6.2、配置GCC编译器6.3、配置G编译器6.4、配置编译器套件6.5、创建应用 七、总结…

MySQL 主从复制集群高可用

在实际的生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,一般来说 都是通过主从复制(Master-Slave)来同步数据&#x…

微信小程序毕业设计-线上教育商城系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

基于STM32F103最小系统板和DL-LN33 2.4G通信 ZigBee无线串口自组网采集温湿度

文章目录 前言一、组网概述二、产品特性三、电气特性四、引脚配置五、UART通信协议5.1 UART参数5.2 包分割5.3 端口5.4 举例通信5.4.1 一个节点给另一个节点发送数据5.4.2 一个节点给另一个节点的内部端口发送数据5.4.3 一个节点给自己的内部端口发送数据5.4.4 不推荐的数据传输…

【单片机毕业设计选题24033】-基于STM32的智能饮水机设计

系统功能: 系统上电后显示“欢迎使用智能饮水系统请稍后”两秒后进入正常显示页面。 第一页面第一行显示“系统状态信息”,第二行显示温湿度信息,第三行显示 水温&水位值,第四行显示系统状态(锁定或解锁状态)。…

World of Warcraft [CLASSIC] Level 70 Dire Maul (DM)

[月牙钥匙] [大型爆盐炸弹] World of Warcraft [CLASSIC] Level 70 厄运之槌,完美贡品,Dire Maul (DM) Foror‘s Compendium of Dragon Slaying 佛洛尔的屠龙技术纲要 因为不是兽王宝宝,而且开始位置放的不对&am…