预约试听:15323438773
  


技术分享

News

机器视觉系统及学习方法总结

日期: 2020-05-25
浏览次数: 145

机器视觉系统及学习方法总结


一、机器视觉系统组成 

    机器视觉系统主要分为三部分:机器、视觉和系统。机器负责机械的运动和控制;视觉通过光源、工业镜头、工业相机、图像采集卡等来实现;系统主要是指软件。


光源

光源作为机器视觉系统输入的重要部件,它的好坏直接影响输入图像的质量和应用效果。由于没有通用的机器视觉光源设备,所以针对每个特定的应用实例,要选择相应的视觉光源,以达到最佳效果。常见的光源有:LED环形光源、低角度光源、背光源、条形光源、同轴光源、冷光源、点光源、线型光源和平行光源等。

镜头

镜头在机器视觉系统中主要负责光束调制,并完成信号传递。镜头类型包括:标准、远心、广角、近摄和远摄等,选择依据一般是根据相机接口、拍摄物距、拍摄范围、CCD尺寸、畸变允许范围、放大率、焦距和光圈等。

相机

工业相机在机器视觉系统中最本质功能就是将光信号转变为电信号,与普通相机相比,它具有更高的传输力、抗干扰力以及稳定的成像能力。按照不同标准可有多种分类:按输出信号方式,可分为模拟相机和数字相机;按芯片类型不同,可分CCD相机和CMOS相机,这种分类方式最为常见。

图像采集卡

图像采集卡虽然只是完整机器视觉系统的一个部件,但它同样非常重要,直接决定了工业相机的接口:黑白、彩色、模拟、数字等。比较典型的有PCI采集卡、1394采集卡、VGA采集卡和GigE千兆网采集卡。这些采集卡中有的内置多路开关,可以连接多个工业相机,同时采集多个工业相机图像。

机器视觉

机器视觉软件是机器视觉系统中自动化处理的关键部件,根据具体应用需求,对软件包进行二次开发,可自动完成对图像采集、显示、存储和处理。在选购机器视觉软件时,一定要注意开发硬件环境、开发操作系统、开发语言等,确保软件运行稳定,方便二次开发。


二、机器视觉开发环境原理

软件平台

机器视觉当前的比较流行的开发模式是“软件平台+工具包”。在实际视觉项目中,软件平台的目的就是为客户做出一个应用程序,让客户一目了然地看到其产品的各项数据,例如:产量、日期、报表、NG/OK量、故障信息、调试信息、设置参数、操作工具、整个视觉控制系统等。当前机器视觉领域主要用的开发平台有:

VC++——目前主流选择平台

最通用,功能最强大。用户多,和windows搭配,运行性能较好,可以自己写算法,也可以用工具包,而且基本上工具包都支持C++的开发。

 C#——逐渐发展使用

比较容易上手,特别是完成界面等功能比用VC+MFC难度低了很多,已经逐渐成为流行的使用平台了,算法在调用标准的库或者使用C#+C++混合编程。可以看到目前很多相机厂商的SDK都已经开始使用C#做应用程序了

LabVIEW——NI的工具图形化开发平台

开发软件快,特别是做工控行业或者自动化测试行业,由于使用labview进行测试测量的广泛性,所以都有labview的基础,再调用NI的Vision图像工具包开发,开发周期短,维护较为容易。

工具

软件平台生成的应用程序可以通过控制整个视觉系统来获取对象图像信息,对该图像信息进行信息提取处理就需要一定的功能函数和算子,那么就需要包含大量功能函数的工具包。当前机器视觉领域主要用的工具包有

halcon:出自德国MVTech,当前首选使用对象。底层的封装功能算法很多,运算性能快,使用方便简单,若有一定软件功底和图像处理理论,使用其开发将会便捷。

VisionPro:美国康耐视的图像处理工具包。性能大多数算法性能都很好,性能上没有和halcon直接对比过。

OpenCV:感觉openCV更多的还是用在计算机视觉领域,在机器视觉领域其实不算太多,应为机器视觉领域当前主要的应用还是定位、测量、外观、OCR/OCV,这几项都不是opencv的专长。

机器视觉系统原理

系统原理:机器视觉系统的目得就是通过机器视觉产品(即光源、镜头、相机、采集卡)将被拍摄的目标转换为图像信号,传送给机器视觉软件(即图像处理系统),来代替人眼的测量、检测和判断。原理是由计算机、图像处理器以及相关设备来模拟人的视觉行为,完成得到人的视觉系统所得到的信息。随着微型计算机技术、网络技术、大数据融入技术发展,相信未来机器视觉系统将会代替人类完成更多难以完成的工作。


三、如何学习机器视觉

机器视觉发展到今天,分为三个部分: 1,底层开发部分。 2,二次开发部分。 3,最终使用部分。

那如何学习机器视觉? 我认为,应该先确定自己的身份,从具体的需求入手来学习,学以致用。其次,学习机器视觉,要实际动手操作、不断积累编程的经验。

搞底层开发,分硬件及软件。要对自己所负责的这个模块非常了解,搞软件要知道算法及运行速度;搞硬件需明白公司所选用芯片的特点等。还要清楚对手的优缺点及行业的最新动态和技术。搞二次开发,你要是个全才。说什么都要知道一些。不仅要了解用户的要求,也要知道各种底层算法的相关逻辑。搞最终应用的,要有机器视觉基本基础知识,对自己所工作的行业及领域的机器视觉系统非常熟悉。



为什么选择HALCON呢

首先,能在最短的时间里开发出视觉系统,HALCON包含了一套交互式的程序设计界面HDevelop,可在其中以HALCON程序代码直接撰写,修 改,执行程序,并且可以查看计算过程中的所有变量,设计完成后,可以直接输出C、C++、VB、C#、vb等程序代码,套入您的程序中。 HDevelop同时和数百个范例程序链接,除了个别计算功能的说明,您也可以随时依据不同的类别找到应用的范例,方便参考。此外,以问题为导向的手册, 可以让您找到最适切的使用说明以及作业观念。

其次,HALCON不限制取像设备,可以自行挑选合适的设备。原厂已提供了60 余种相机的驱动链接,即使是尚未支持的相机,除了可以透过指标(pointer)轻易的抓取影像,还可以利用HALOCN开放性的架构,自行撰写DLL文件和系统连接。

最后,使用HALOCN,在设计人机接口时没有特别的限制,也不必特别的可视化组件,您可以完全使用开发环境下的程序语言,例如visual studio、.NET、Mono等等,架构自己的接口,end user看不到您的开发工具,而且在执行作业的机器上,只需要很小的资源套件。

机器视觉

机器视觉

机器视觉


News / 推荐新闻 More
2022 - 09 - 17
关于举办“视觉定位工程实训”线下培训班 众所周知,工业机器人是制造业的高端制造设备,对于稳定性、定位精准度的要求,是 非常高的,因此,需要借助机器视觉技术处理图像,通过工业相机实现引导定位和模式识别 等操作,得快速获取物体的质心和边界,才能满足工业机器人系统运行的自定位需求。 联为智能教育特邀行业资深工程师共同举办视觉定位工程实训培训班。本次培训课程重 点介绍基于视觉定位项目要求所需的相机镜头相关参数,相机选型,精度评估,定位原理及 分类,标定设计等方面的知识和原理,并结合实际 案例和代码实制进行了详细的讲解和具 体的操作指导。具体通知事宜如下: 一、【培训目标】 1、能够利用图像处理软件进行具体定位项目的开展 2、对视觉定位原理有较深全面的理解,并代码实现。3、通过原理解析、典型实例操作强化应用,提升学员解决实际工程问题的能力。 学会如何设计标定,...
2022 - 07 - 22
电气工程系主任刘忠翔率队到深圳开展企业调研为深化校企合作,深入推进2020级学生岗位实习和学生就业工作。2022年6月21日,贵州装备制造职业学院电气工程系党总支书记兼主任一行4人到深圳市联为智能技术有限公司、深圳市海目星激光智能装备股份有限公司、深圳龙华区人才园等调研,并开展深入的交流座谈。交流座谈会上,深圳市联为智能技术有限公司董事长陈星树表示:贵州装备制造职业学院在专业技术、研究方向与公司发展高度契合,双方可以在促进智能制造毕业生高质量就业、专业人才培养、推进新型产教融合等方面深度合作。电气工程系党总支书记兼主任刘忠翔对贵州装备制造职业学院和系部的办学情况、学科建设情况等进行了介绍,希望双方尽快就智能制造新型产教融合相关细节展开深入沟通,促进学生高质量就业和发展,同时在智能制造领域开展长效的合作。调研过程中,刘忠翔一行还深入海目星自动化产线的装配调试现场实地考察,并与企业负责人、人力...
2021 - 10 - 21
PLC编程规范及建议28条,你做到了吗?01、完美的PLC程序需满足的设计要求一套完整的PLC程序,并不仅仅是使系统能够运行起来这么简单,它也需要完整的注释、精良的架构、良好的可扩展性、完备的报警保护系统、运行前的模拟系统。1. 简单性使PLC程序尽可能简单。简单的含义就是尽可能的使用标准化的程序框架,尽可能使用简单的指令。要想程序简单,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。2. 可读性要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便于调试,而且,还要便于别人读懂你的程序,便于使用者维护。必要时,也可使程序推广。要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化,以至于用面向对象的方法进行设计。要多用一些标准的设计。如遇特殊情况下采用语言编程,多数情况下请使用梯...
2021 - 10 - 20
老工程师的PLC编程建议 1、PLC和上位机(或触摸屏)组成监控系统时,在画面上很多时候需要有“手动”、“自动”等控制模式(一般都是多个只能一个时)。在程序里面可以用“MOV”指令。如:当选择“手动”就将常数1MOV到一个寄存器VB10里面,当选择“自动”就将2MOV到同一寄存器VB10。只要判断寄存器的数据是多少,就知道系统是那种控制方式。这样的思路好处是容易理解,不需要互锁之类的麻烦程序。2、程序有模拟量控制时,如果读取的模拟量基本上没误差,可以采取时间滤波的方式,延时一段时间。如果读取的数据误差很大,就需要采取其它的滤波方式,如算平均值等。可以查阅相关的资料。3、在程序调试过程中(特别是设备改造时,你的程序是加入到原来设备的程序中时),当程序语句中出现条件满足,而输出线圈不接通时,可以检查你的这段程序是否是在这样的语句之间,如JUMPgoto等语句。还有一种可能就是在中断程...
技术分享
 
2022 / 09 / 17
关于举办“视觉定位工程实训”线下培训班 众所周知,工业机器人是制造业的高端制造设备,对于稳定性、定位精准度的要求,是 非常高的,因...
 
联系方式
深圳市龙华区观澜街道桂香社区桂圆路23号联为智能装备数字产业园
1812977051@qq.com

15323438773 陈老师

0755-29495142

预约免费试听
  • 您的姓名:
  • *
  • 公司名称:
  • 地址:
  • 电话:
  • *
  • 传真:
  • E-mail:
  • 邮政编码:
  • 留言主题:
  • 详细说明:
  • *
     
联为智能教育专业打造自动化教育产、学、研一体化平台,成为智能制造教育领导者。联为plc培训班精心打造专业培训实操基地,专门为学员研发一批教学设备,包括机器人学习教学连线,plc培训学习教学连线,工业机器人培训、plc编程培训等专业的教学设备,让学员真正理论实践一体,学以致用,从实践交流中体会知识的精髓,来一场完美的职业转身。
扫码学习
深圳联为智能教育感谢您的关注!
plc学习
在线直播间
plc培训班
小胡老师
Copyright ©2005 - 2013 深圳市联为智能教育有限公司


犀牛云提供企业云服务
5
电话
  • 15323438773
6
二维码
回到顶部