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

一、前言

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

二、程序代码

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.mzph.cn/diannao/36879.shtml

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

相关文章

linux上git的使用

目录 1.测试是否安装有git 2.下载项目到本地 3.三板斧 1.将代码放在创建的目录中 2.提交改动到本地 3.提交代码到远端 4.注意点 以及补充内容 1.测试是否安装有git 如果输入git --help 会显示下面一大串那么就是已经安装,否则需要自行手动安装 yum install g…

聚焦从业人员疏散逃生避险意识能力提升,推动生产经营单位每年至少组织开展(疏散逃生演练,让全体从业人员熟知逃生通道、安全出口及应急处置要求,形成常态化机制。

聚焦从业人员疏散逃生避险意识能力提升,推动生产经营单位每年至少组织开展(疏散逃生演练,让全体从业人员熟知逃生通道、安全出口及应急处置要求,形成常态化机制。完整试题答案查看 A.三次B.两次C.一次 综合运用“四不两直”、明察暗访、 ()、…

洁盟超声波清洗机怎么样?横向测评希亦、洁盟、苏泊尔超声波清洗机谁是实力派

生活中大多数人戴眼镜,但是很多人都不注意眼镜的保养,导致镜片越来越模糊,从而引发多边的状况发生,比如长久戴模糊不清的眼镜,视力会受到影响随之下降。甚至是眼镜长期不清洗,上面的灰尘、细菌会影响眼部健…

彩虹PLM系统在航空航天业的应用与实践

彩虹PLM系统在航空航天业的应用与实践 彩虹PLM系统作为航空航天业的卓越解决方案,已经在众多企业中得到了广泛的应用和实践。该系统通过其独特的功能和优势,为航空航天企业带来了显著的管理效益和市场竞争力提升。 彩虹PLM系统 在应用方面,彩…

这样解释 TCP_IP 真的很好理解

想象一下,你住在一个大城市里,这个城市就是你的计算机网络世界。在这个城市中,有许多房子(代表不同的计算机),这些房子之间由各种道路和交通设施连接起来(代表网络的物理连接)。 现在…

1.2 离散LTI系统的时域分析

目录 离散系统的定义 离散LTI系统的时域描述h[k] 离散系统的分类 线性与非线性系统 时变与非时变系统 因果与非因果系统 稳定与不稳定系统 滑动平均系统 LTI——Linear and Time-invariant System 线性时不变系统 离散系统的定义 离散LTI系统的时域描述h[k] 离…

【java12】java12新特性之File的mismatch方法

Java12引入了一个新的方法 mismatch,它属于java.nio.file.Files类。此方法用于比较两个文件的内容,并返回第一个不匹配字节的位置。如果两个文件完全相同,则返回-1。 Files.mismatch 方法声明 public static long mismatch(Path path1, Pat…

【并发编程】2-Synchronized

基本概念 线程安全问题三个要素:多线程、共享资源、非原子性操作;产生的根本原因:多条线程同时对一个共享资源进行非原子性操作;Synchronized解决线程安全问题的方式:通过互斥锁将多线程的并行执行变为单线程串行执行…

昇思25天学习打卡营第4天|数据集Dataset

数据集 Dataset 介绍 之前说过,MindSpore是基于Pipeline,通过Dataset和Transformer进行数据处理。Dataset在其中是用来加载原始数据的。mindSpore提供了数据集加载接口,可以加载文本、图像、音频等,同时也可以自定义加载接口。此…

【UE开发】游戏库存UI系统Demo

1.项目介绍 1.描述:一种用于存储记录玩家物品的游戏内可视化操作系统。 2.演示:https://www.bilibili.com/video/BV1f53neVEfW/?vd_source50dea901fd12253f417c48b937975b0d 3.大纲: 4.样式: 2.W_Inventory_Main_01(…

CORE Mobility Errorr的调试

在运行CORE tutorial 3中的mobility示例时,出现如下错误: 当看到这个问题的时候,并没有仔细去分析日志和现象,在core-daemon的进程打印界面只看了一下最后的出错堆栈: 2024-06-27 10:43:48,614 - ERROR - _server:_ca…

MySQL8 新特性——公用表表达式用法 with t1 as (select * from user)

MySQL8 新特性——公用表表达式用法_mysql ctes-CSDN博客 1.普通公用表表达式 MySQL8 新特性——公用表表达式用法 在MySQL 8.0及更高版本中,引入了公用表表达式(Common Table Expressions,CTEs),它是一种方便且可重…

docker部署vue项目

1.下载docker desktop软件 Docker Desktop启动的时候,有可能弹框提示"WSL2 installations is incomplete",这是您的系统中没有安装WSL2内核的原因,打开【https://aka.ms/wsl2kernel ,在打开的页面中有一个Linux内核更新包"链…

【python011】经纬度点位可视化html生成(有效方案)

1.熟悉、梳理、总结项目研发实战中的Python开发日常使用中的问题、知识点等,如获取省市等边界区域经纬度进行可视化,从而辅助判断、决策。 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 3.欢迎点赞、关注、批…

Android InputReader 输入事件处理流程

Android系统输入事件产生的底层主要是输入子系统,Android 中的输入设备有很多,例如屏幕,鼠标,键盘等都是输入设备,对于应用开发者,接触最多的也就是屏幕了。 1. 当输入设备可用时,Linux会在 /de…

tensorRT的安装

在这个网址找到适合自己的版本,尤其是找到合适的cuda版本: https://pypi.nvidia.com/ 然后直接pip 安装: 比如: pip install https://pypi.nvidia.com/tensorrt-cu11/tensorrt-cu11-10.1.0.tar.gz 也可以: wget http…

【MotionCap】SLAHMR 在 Colab 的demo运行笔记

【MotionCap】SLAHMR slahmr将人类和相机运动与野外视频分离 CVPR 2023跳至主要内容 SLAHMR (supports 4D Humans).ipynb SLAHMR (supports 4D Humans).ipynb_笔记本已移除星标Google Colab demo for: SLAHMR - Simultaneous Localization And Human Mesh Recovery @inproc…

STM32将外部SDRAM空间作为系统堆(Heap)空间

概述 stm32可以外扩很大的sram,常见外部sram的初始化函数一般是c语言写的,默认写在main函数里面。stm32初始化首先进入汇编代码startup_stm32f429xx.s,在汇编代码中Reset_Handler(复位中断服务程序)里面先调用了Syste…

线上书店订购系统小组作业汇总

1、数据库模型图、er图1、数据库模型图、er图-CSDN博客 2、网上图书订购2、网上图书订购-CSDN博客 3、简单查询与多表联合复杂查询MySQL周内训参照3、简单查询与多表联合复杂查询-CSDN博客 4、触发器-插入-修改-删除MySQL周内训参照4、触发器-插入-修改-删除-CSDN博客 5、存…

亮相夏季达沃斯论坛天津之夜,国窖1573展现国际化新表达

执笔 | 姜 姜 编辑 | 扬 灵 6月25日-27日,以“未来增长的新前沿”为主题的第十五届新领军者年会,即2024年夏季达沃斯论坛盛大举行。26日晚,在2024年夏季达沃斯论坛天津之夜上,国窖1573作为中国民族品牌的代表,以唯一携…