人工智能
目前可以开发机器视觉的相关计算机语言有C++,C#,JAVA,PYTHON等,甚至简单的PHP和JAVASCRIPT也可以开发相关的功能。
机器视觉需要用到图像处理库,有很多免费且开源的第三方图像库可以用,如十分著名的OpenCV,有C++,JAVA,PYTHON的版本,它包含了很多现成的函数,可以处理图像的形状,颜色,大小,图像文件保存,找相似图像,物体边缘(Cannyedge)算法。
机器视觉的另一个方向是神经网络深度学习算法。这里面有代表性的是谷歌的TensorFlow,具有很强大的机器视觉能力。
文字识别方面的代表有谷歌的Tesseract,这也是开源项目。
一个典型的机器视觉系统包括以下五大块:
照明是影响机器视觉系统输入的重要因素,它直接影响输入数据的质量和应用效果。由于没有通用的机器视觉光源照明设备,所以针对每个特定的应用实例,要选择相应的照明装置,以达到最佳效果。光源可分为可见光和不可见光。常用的几种可见光源是白帜灯、日光灯、水银灯和钠光灯。可见光的缺点是光能不能保持稳定。如何使光能在一定的程度上保持稳定,是实用化过程中急需要解决的问题。另一方面,环境光有可能影响图像的质量,所以可采用加防护屏的方法来减少环境光的影响。照明系统按其照射方法可分为:背向照明、前向照明、结构光和频闪光照明等。其中,背向照明是被测物放在光源和摄像机之间,它的优点是能获得高对比度的图像。前向照明是光源和摄像机位于被测物的同侧,这种方式便于安装。结构光照明是将光栅或线光源等投射到被测物上,根据它们产生的畸变,解调出被测物的三维信息。频闪光照明是将高频率的光脉冲照射到物体上,摄像机拍摄要求与光源同步。
FOV(FieldOfVision)=所需分辨率*亚象素*相机尺寸/PRTM(零件测量公差比)镜头选择应注意:①焦距②目标高度③影像高度④放大倍数⑤影像至目标的距离⑥中心点/节点⑦畸变
按照不同标准可分为:标准分辨率数字相机和模拟相机等。要根据不同的实际应用场合选不同的相机和高分辨率相机:线扫描CCD和面阵CCD;单色相机和彩色相机。
图像采集卡只是完整的机器视觉系统的一个部件,但是它扮演一个非常重要的角色。图像采集卡直接决定了摄像头的接口:黑白、彩色、模拟、数字等等。
比较典型的是PCI或AGP兼容的捕获卡,可以将图像迅速地传送到计算机存储器进行处理。有些采集卡有内置的多路开关。例如,可以连接8个不同的摄像机,然后告诉采集卡采用那一个相机抓拍到的信息。有些采集卡有内置的数字输入以触发采集卡进行捕捉,当采集卡抓拍图像时数字输出口就触发闸门。
目前,千兆网口工业相机逐步成为主流,图像采集卡一般采用视觉专用的千兆网卡。
视觉处理器集采集卡与处理器于一体。以往计算机速度较慢时,采用视觉处理器加快视觉处理任务。现在由于采集卡可以快速传输图像到存储器,而且计算机也快多了,所以现在视觉处理器用的较少了。
全部0条评论
快来发表一下你的评论吧 !