基于机器视觉的焊缝表面检测技术研究(附C++成像系统)☆
摘 要
近几年电子工业发展迅速,作为电子工业的基础产品,机器视觉技术也相应发展较快。传统机器视觉表面焊缝检测方法很大程度上依靠人工,这种落后的检测方法面临着严重的挑战。这主要表现在检测时间长,成本高,检测效果不好。因此开发一种检测速度快、操作简单成本低的焊接药筒环焊缝内焊缝表面质量检测数字成像系统具有很大的现实意义和实用价值。
针对上述的技术问题,分析机器视觉表面焊缝检测在现实中的要求,本问设计了一种检测速度快、操作简单成本低的焊接药筒环焊缝内焊缝表面质量检测数字成像系统。整个检测系统的工作原理是: 在照明系统的照明下,经过光学镜头,利用面阵CCD的电荷耦合特性,将药筒的内表面环焊缝成像在CCD芯片上,转换为视频信号,经过图像采集卡传送到计算机。
本文完成了机器视觉表面焊缝检测的理论研究和部分实验工作,并且进行了系统 的调试。
关键词:焊接药筒;高速转镜;CCD摄像机
Based on machine vision weld face examination engineering research
Abstract
In recent years the electronics industry development is rapid, takes the electronics industry the foundation product, the machine vision technology corresponding development is also quick. The tradition machine vision surface weld examination method depends upon the man-power to a great extent, this backward examination method is facing the serious challenge. This mainly displays in the examination time is long, the cost is high, the examination effect is not good. Therefore develops one kind of examination speed to be quick, in the simplicity of operator cost low welding medicine case link welded joint the weld face quality detection digit imaging system has the very big practical significance and the use value. [版权所有:http://DOC163.com]
In view of the above technical question, the analytic engine vision surface weld examination in the reality request, interrogated designs one kind of examination speed to be quick, in simplicity of operator cost low welding medicine case link welded joint weld face quality detection digit imaging system. The whole testing system is the working principle: the lighting in the lighting system, the optical lens, using the CCD array of charge-coupled, the cartridge of the inner surface of Weld Central in the CCD imaging chip, into a video signal, after images Acquisition card sent to the computer.
This article has completed the machine vision surface weld examination fundamental research and the part experimental work, and has carried on system's debugging.
Key words: Welding cartridge; Optical balance; CCD camera
设计内容及要求
(1)查阅相关资料总结国内外机器视觉焊缝表面检测技术的研究的发展现状;
(2)深入学习picasso SDK采集卡资料,熟悉采集卡函数;
[资料来源:Doc163.com]
(3)学习数字图像处理,并掌握基本图像处理的算法;
(4)用Visual C++ 6.0工具开发视觉成像系统;
(5)撰写论文;
(6)翻译与课题相关的外文资料。
基于机器视觉表面焊缝检测成像系统
本系统是一种焊接药筒环焊缝内焊缝表面质量检测数字成像系统,该CCD视觉检测系统属一种非接触测量手段。它是将从成像系统获得的图像信号变成CCD的电荷信号,完成对图像的空间离散化过程,同时在CCD面阵上产生PAL制所需的同步信号、场同步信号和消影信号,合成完整的视频信号,输出后由计算机处理的方法,系统由光学系统(包括照明系统、成像系统、光学补偿系统)、面阵CCD接受系统、图像采集卡、计算机接口及计算机等组成。
附录A 部分程序说明
(1)图像增强——直方图的程序
void CCh1_1View::OnViewIntensity()
{
// 查看当前图像灰度直方图
// 获取文档
CCh1_1Doc* pDoc = GetDocument();
// 指向DIB的指针
LPSTR lpDIB;
// 指向DIB象素指针
LPSTR lpDIBBits;
// 锁定DIB
lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
// 找到DIB图像象素起始位置
lpDIBBits = ::FindDIBBits(lpDIB);
// 判断是否是8-bpp位图(这里为了方便,只处理8-bpp位图,其它的可以类推)
if (::DIBNumColors(lpDIB) != 256)
{
// 提示用户
MessageBox("目前只支持查看256色位图灰度直方图!", "系统提示" , MB_ICONINFORMATION | MB_OK);
// 解除锁定
::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
// 返回
return;
}
// 更改光标形状
BeginWaitCursor(); [资料来源:Doc163.com]
// 创建对话框
CDlgIntensity dlgPara;
// 初始化变量值
dlgPara.m_lpDIBBits = lpDIBBits;
dlgPara.m_lWidth = ::DIBWidth(lpDIB);
dlgPara.m_lHeight = ::DIBHeight(lpDIB);
dlgPara.m_iLowGray = 0;
[资料来源:http://Doc163.com]
目 录 18000字
摘 要 I [资料来源:http://Doc163.com]
Abstract II
目 录 III
1 绪论 1
1.1 课题的目的及意义 1
1.2 国内外发展及现状 2
2 机器视觉检测 4
2.1 机器视觉概述 4
2.2 机器视觉检测原理 5
2.3 机器视觉系统的典型结构 6
2.4 机器视觉系统的优点 7
3 固体成像传感器 8
3.1 固体成像传感器概述 8
3.2 CCD图象传感器 8
3.2.1 CCD图象传感器的基本原理及结构 9
3.2.2 CCD图象传感器的分类 12
3.2.3 CCD图象传感器的优点 12
3.3 CCD图象传感器与CMOS的区别 13
3.3.1 CCD与CMOS的定义 13
3.3.2 CCD与CMOS的区别 13 [版权所有:http://DOC163.com]
3.4 CCD成像测量系统 14
3.4.1 CCD成像测量系统的组成 15
3.4.2 CCD成像测量的基本原理 17
4 基于机器视觉表面焊缝检测成像系统 17
4.1 基于机器视觉表面焊缝检测成像系统的总体框图 18
4.2 基于机器视觉表面焊缝检测成像系统的光学系统 18
4.2.1 基于机器视觉表面焊缝检测成像系统的光学系统的构成 18
4.2.2 开缝挡板、光源和CCD相机的相关设置 19
4.3 基于机器视觉表面焊缝检测成像系统的工作原理 21
4.4 基于机器视觉表面焊缝检测成像系统的图象采集卡的选用及其使用 21
4.5 基于机器视觉表面焊缝检测成像系统的图象处理 21
4.5.1 图像噪声,中值滤波,图像的鋭化,直方图的相关介绍 22
4.5.2 开缝挡板、光源和CCD相机的相关设置 23
4.6 基于机器视觉表面焊缝检测成像系统的软件流程图 24 [资料来源:http://www.doc163.com]
5 基于PICASSO卡SDK的接口程序开发 26
5.1 picasso SDK及主要函数介绍 26
5.1.1 Picasso SDK 26
5.1.2 Picasso SDK的用法 26
5.1.3 调用Picasso SDK的步骤及主要函数介绍 26
5.2 图像采集的工作过程及缓存分配描述 30
5.2.1 采集图像的步骤 30
5.2.2 缓存分配描述 31
5.3 图像的显示 32
5.4 程序运行结果 32
5.4.1 接口程序界面 32
5.4.2 采集图像并执行预览功能 33
结 论 34
参考文献 35
附录A 部分程序说明 37
致 谢 47