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

一、前言

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

二、程序代码

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…

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

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

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

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

1.2 离散LTI系统的时域分析

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

【并发编程】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.欢迎点赞、关注、批…

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

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

vue + Lodop 制作可视化设计页面 实现打印设计功能(二)

历史: vue2 Lodop 制作可视化设计页面 实现打印设计功能(一) 前言: 之前本来打算用直接拿之前做的vue2版本改改就发的,但考虑到现在主流都是vue3了,所以从这篇文章开始使用vue3来写,以及最后…

三相LCL滤波型PWM逆变器仿真设计

参考并网电流外环电容电流前馈内环的双闭环控制结构,在光伏和风力发电网侧变换器中的应用,可以显著提高系统的稳定性和效率。在并网电流外环中,通过检测电网电流并与其参考值进行比较,可以得到一个电流误差信号。这个电流误差信号…

MySQL基础查询与复杂查询

基础查询 1、查询用户信息,仅显示用户的姓名与手机号,用中文显示列名。中文显示姓名列与手机号列。 2、根据商品名称进行模糊查询,模糊查询需要可以走索引,需要给出explain语句。使用explain测试给出的查询语句,需要显…

程序员职业发展指南,如何选择适合自己的就业方向?

随着科技的发展和数字化时代的到来,程序员是IT行业中的热门职业。尤其是近几年移动互联网的迅速发展,IT人才更是紧缺,越来越多的人加入程序员这个行列。 从事程序员工作,如何接项目呢?YesPMP是一个专注于互联网外包的平…

【知识学习】阐述Unity3D中动画渲染的概念及使用方法示例

Unity3D中的卡通渲染(Cartoon Rendering)是一种渲染技术,它模仿传统手绘动画或漫画的视觉效果。这种渲染风格通常具有鲜明的颜色、清晰的轮廓线和简化的光影效果,常用于制作动画、游戏和其他视觉媒体。 卡通渲染的基本概念 轮廓…

<sa8650>QCX ISP Tuning 使用详解 — Tuning前置条件

<sa8650>QCX ISP Tuning 使用详解 — Tuning前置条件 一 如何安装 Qualcomm Chromatix™ 摄像头校准工具二 如何使用 Qualcomm Chromatix™ tuning工具创建tuning项目2.1 创建工程前提依赖2.2 创建工程2.3 添加场景2.4 编辑区域触发器三 如何创建Tuning 树一 如何安装 Qualco…

postman教程-22-Newman结合Jenkins执行自动化测试

上一小节我们学习了Postman Newman运行集合生成测试报告的方法,本小节我们讲解一下Postman Newman结合Jenkins执行自动化测试的方法。 在软件开发过程中,持续集成(CI)是一种实践,旨在通过自动化的测试和构建过程来频繁…

【高等数学】一元函数积分及其应用:定积分与反常积分

文章目录 第一节. 定积分一. 定积分的概念1. 定义2. 定积分存在定理3. 定积分的几何意义与求解 二. 定积分的性质1. 不等式2. 中值定理 三. 积分上限(为x)函数1. 积分上限函数定义2. 积分函数求导3. 积分函数的奇偶性变化 四. 定积分的计算 第二节. 反常…