你可以用VISUAL STUDIO 和 JAVA的开发工具。
目前可以开发机器视觉的相关计算机语言有 C++, C#, JAVA, PYTHON 等, 甚至简单的PHP和JAVASCRIPT也可以开发相关的功能。
机器视觉需要用到图像处理库,有很多免费且开源的第三方图像库可以用,如十分著名的OpenCV, 有C++,JAVA, PYTHON的版本, 它包含了很多 现成的函数,可以处理图像的形状,颜色,大小,图像文件保存,找相似图像,物体边缘(Canny edge)算法 。。。
机器视觉的另一个方向是神经网络深度学习算法。这里面有代表性的是谷歌的TensorFlow,具有很强大的机器视觉能力。
文字识别方面的代表有谷歌的 Tesseract, 这也是开源项目
开发机器视觉软件要用到哪些开发工具?
如果用C++的话 可以用VC6.0+OpenCV库来做,C#可用Emgu库; 也可用labview进行开发,这个比较快速
机器视觉方面工程师在公司里具体要做哪些事情?需要掌握哪些知识
看做哪方面的视觉工程师,给别人做视觉系统集成的还是做视觉开发的是不同的。
1、要是做视觉系统集成的就是整天按照人家工艺的要求调试你要检测物体的画面,然后给客户的提一些光源的要求还有机械上的要求,还有项目后期要不间断的去现场。
2、要是做视觉开发的话就是天天听客户反馈然后无止境的思考算法,还有写软件。搞硬件的话就是研究光学成像问题。
图像处理工程师需要掌握的知识有:
最基本图形处理的开发与研究,熟悉图像处理的各种算法,特别是图像去燥、图像增强、复原、质量改善、检测、色彩科学、图像分割、图像识别处理、图像跟踪、图像的获取及视频处理。
具体应用包括人脸识别、医学影像处理、多点识别、文字检测与是识别。特别的,结合不同应用,还需要自然语言处理知识。
另外,要有优秀的数学功底(特别是线性代数、优化理论、统计知识)
扩展资料
机器视觉的应用主要有检测和机器人视觉两个方面:
⒈ 检测:又可分为高精度定量检测(例如显微照片的细胞分类、机械零部件的尺寸和位置测量)和不用量器的定性或半定量检测(例如产品的外观检查、装配线上的零部件识别定位、缺陷性检测与装配完全性检测)。
⒉机器人视觉:用于指引机器人在大范围内的操作和行动,如从料斗送出的杂乱工件堆中拣取工件并按一定的方位放在传输带或其他设备上(即料斗拣取问题)。至于小范围内的操作和行动,还需要借助于触觉传感技术。
【机器视觉特点】
⒈摄像机的拍照速度自动与被测物的速度相匹配,拍摄到理想的图像;
⒉零件的尺寸范围为2.4mm到12mm,厚度可以不同;
⒊系统根据操作者选择不同尺寸的工件,调用相应视觉程序进行尺寸检测,并输出结果;
⒋针对不同尺寸的零件,排序装置和输送装置可以精确调整料道的宽度,使零件在固定路径上运动并进行视觉检测;
⒌机器视觉系统分辨率达到2448×2048,动态检测精度可以达到0.02mm;
⒍废品漏检率为0;
⒎本系统可通过显示图像监视检测过程,也可通过界面显示的检测数据动态查看检测结果;
⒏具有对错误工件及时准确发出剔除控制信号、剔除废品的功能;
⒐系统能够自检其主要设备的状态是否正常,配有状态指示灯;同时能够设置系统维护人员、使用人员不同的操作权限;
⒑实时显示检测画面,中文界面,可以浏览几次不合格品的图像,具有能够存储和实时察看错误工件图像的功能;
⒒能生成错误结果信息文件,包含对应的错误图像,并能打印输出。
参考资料:百度百科▬机器视觉、
如何学习机器视觉
这个感觉是从论坛上大家所问的问题得出来的。因为。在论坛中看到不少朋友所问的问题,是相当可笑的。说可笑并非指所提问题过于简单幼稚,而是所问的问题一看就是从书本上抄来的,而不是在实际情况下所遇到的。换句话说,论坛中的朋友大多只是在纸上谈兵,极少有人真正自已动手开发视觉系统。这样说是因为自己搞开发的人绝对问不出某些奇怪问题来的。往深了说一点,好象国内的朋友们只喜欢啃书本,并不愿意(也可能是懒得)动手。一句话,国外机器视觉发展到今天,已经可以清清楚楚分为三个部分: 1,底层开发部分。 2,二次开发部分。3,最终使用部分。于是在国外,从事这一行业的人现在也就可以简单而清楚地分成三种人: 1,底层开发的人(从事底层开发工作的人)。2,二次开发的人(从事二次开工作的人)。3,使用及操作机器视觉系统的人(从事最终使用工作的人)。第一类人。就是我们常说的,开发通用视觉系统(如:DVT,西门子,欧姆龙,EVISION,COGNEX等等)的开发人员,也就是DVT,COGNEX这些公司开发部的技术职工。第二类。就是大家所说的OEM用户。是专门用第一类人所开发出的系统,给第三类人搞二次开发,开发各种专为第三类人所用的系统。第三类人,就是用户(enduser)。这类人是真正将机器视觉系统应用到各个领域中的人,他们不仅在各自的行业中使用种种已经开发成型的机器视觉系统。而且负责对各类系统进行测试及评估。举个实际例子,这里有不少朋友问过这类问题:如何检测某一工件;检测光盘表面的系统该如何配置CCD相机、镜头及灯源等。问这些问题的朋友应该算是第三类人。他们公司要他们寻找一个系统可以用来检测本公司的产品。但由于第一类人所开发的,只是通用的系统以及视觉系统开发工具的软件包。并没有哪家公司专门开发一套系统来检测光盘或是某种特定的工件。所以,这些朋友就应该来找我,因为我是第二类人。我的工作就是,专门用DVT,EVISION,COGNEX等的视觉卡,以及视觉系统开发工具软件包为他们专门开发一套他们所需要的光盘检测系统或是工件检测系统。绕了老大一圈,其实要说的问题就是一个----我所发现的问题:这里80%以上朋友把自己的身分混淆了,越俎代庖。不客气的说,目前国内搞这行的朋友似乎都有些好高骛远。不少从事第二部分工作朋友(搞二次开发的第二类人)对于机器视觉有关知识的了解,尚不如国外第三类人的知识水平(我是从大家所问的问题感觉到的)。而国内第三类朋友知识水平就更可想而知。可是奇怪的是,每个人所问的却都是第二类人要问的,有些甚至是一类人才会问的问题。好象,机器视觉是个十分简单的技术,凭大家随便问几个“关键性”的问题,再由所谓的“专家”三言两语的回答一下。大家就一夜之间都可以自己搞底层开发,成第一类人了。要成为第一类人,又分硬件及软件两种。要对自己所负责的这个模块非常了解,搞软件要知道算法及运行速度;搞硬件要明白公司所选用芯片的特点等等。同时还要清楚对手公司的优缺点以及机器视觉这一行的种种动态和最新技术。总结一下。这三种人相比,第一类人一定要专业,对机器视觉的某一领域非常非常了解;第二类人虽比不上第一类人那么专业,但更加全面;第三类人更熟悉各个应用系统开发公司(第二类人)的优缺点。现在大家可以看得出,机器视觉发展到今天,其分工已经越来越细,每个部分的工作其实是很难相互取代的。大家不要以为第三类人就比第一类人低一等,这是一个错误的等级概念。我本人过去曾属于第一类人,现在作的是第二类工作。而我的几个“师弟师妹”(当初曾一起作第一类人时的同事)现在就在干第三类工作。大家别小看第三类工作,以为这是小儿科,你能真作好这一行也不是很容易。毕竟这也是一门行当也是一个饭碗!另外,以我个人来看:以国内现在机器视觉的水平,对于那些想作第一类人的朋友我在这里劝一句:还是算了吧。国内的机器视觉水平打根子上就差,您还打算搞底层?算法本身都是抄人家的,就只能和对手拼程序的写法了。不过我觉得那更没戏。这样说我绝没有看不起初学者的意思。我说过:所问的问题再简单,我都不会笑话你。对于每样事物我们都是从无知开始的。但是,对于那些极不实际的好高骛远的问题,我还是要说,希望大家踏实下来,戒浮躁,从最基本地学起----先确定自己的身份。
机器视觉方面有哪些好的开发平台?各有什么特点
作者:知乎用户
链接:https://www.zhihu.com/question/20025224/answer/18874837
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
转自知乎:
机器视觉当前的比较流行的开发模式是“软件平台+工具包”
软件平台:
1.VC:最通用,功能最强大。用户多,和windows搭配,运行性能较好,可以自己写算法,也可以用工具包,而且基本上工具包都支持VC的开发。是大家主要选择的平台。
2.C#:比较容易上手,特别是完成界面等功能比用VC+MFC难度低了很多,已经逐渐成为流行的使用平台了,算法在调用标准的库或者使用C#+C++混合编程。可以看到目前很多相机厂商的SDK都已经开始使用C#做应用程序了。
3.LabVIEW:NI的工具图形化开发平台,开发软件快,特别是做工控行业或者自动化测试行业的很多工程师,由于使用labview进行测试测量的广泛性,所以都有labview的基础,再调用NI的Vision图像工具包开发,开发周期短,维护较为容易。
4.VB、delphi:用的人越来越少了。
5.其他:java等没有看到人用过。
工具包:
1.halcon:出自德国MVTech。底层的功能算法很多,运算性能快,用其开发需要一定软件功底和图像处理理论。
2.VisionPro:美国康耐视的图像处理工具包。性能大多数算法性能都很好,性能上没有和halcon直接对比过,但是开发上手比halcon容易。
3.NI Vision:NI的特点是自动化测试大多数需要的软硬件都有解决方案,有点事软件图形化编程,上手快,开发周期快,缺点是并不是每个软件都非常厉害。视觉工具包的优势是售价比大多数工具包或者算法的天文数字便宜了不少,而且整个工具包一个价格,而不是一个算法一个算法地卖,性能方面在速度和精度没有前两种软件好。
4.MIL:加拿大maxtrox的产品,是Matrox Imaging Library 的简写。早期推广和普及程度不错,当前似乎主要用户还是早期的做激光设备的一些用户在用,所以用于定位的较多。
5.CK Vision。创科公司的软件包,相对前面几个工具包来说价格优势比较明显,另外机器视觉需要的功能也基本都有,所以在国内自动化设备特别是批量设备同时需要保护版权的企业而言,用量很大,推广也不错。
6.迈斯肯:迈斯肯的视觉主要产品还是条码阅读一类,图像工具包没有用过,不了解,不评价。
7.OpenCV:感觉openCV更多的还是用在计算机视觉领域,在机器视觉领域其实不算太多,应为机器视觉领域当前主要的应用还是定位、测量、外观、OCR/OCV,感觉这几项都不是opencv的专长。
8.其他:其他还有一些厂家的图像工具包,要么市场影响力不大,要么本人没有用过,不评价。
数字图像处理与机器视觉现在主要用什么软件?
有这么几个组合:
1.LabVIEW+Matlab。LabVIEW具有强大的数据采集功能,在自动化测试方面在国外占据了60%的市场份额,国内还没有发展起来。它对很多摄像机有很好的支持,它带有NI Vision视觉开发模块,能方便呃实现很多功能。它可以与数学计算工具Matlab方便的联合开发,功能无比的强大。但库函数不丰富。
2.VC++ 系列。现在工业上应用最广泛。工业相机制作厂商都给出了VC开发包。有很多开源的库的支持,如OpenGL,OpenCV等,使得它也非常的强大。但VC上手慢,编程稍显复杂,不易维护等。
3.Delphi。这个我不太熟,据说搞图像处理挺厉害。现在用的好像不多。
要说单纯的图像处理,不涉及图像采集的话,非Matlab莫属。它太强大了。Matlab做图像采集挺不太好实现。我现在做机器人双目立体视觉,是用LabVIEW+Matlab联合开发,做到后来,我想只用Matlab实现,但一直买找到 Matlab控制摄像机采集图像的好方法。
有问题发邮件:favor188@gmail.com
Hmily
转载请注明出处51数据库 » 视觉系统开发软件 机器视觉是用什么软件开发的
墨梅72529213
