【项目实战派】图像处理项目的硬件平台选型android
一直以来我都对嵌入式系统比较感兴趣,由于感到图像处理最终仍是要走向便携式、移动化的。这里讲本身对图像处理项目的硬件平台选型这块的想法进行交流,欢迎交流、批评。
1、典型图像处理系统构建
①相机与镜头——这部分属于成像器件,一般的视觉系统都是由一套或者多套这样的成像系统组成,若是有多路相机,可能由图像卡切换来获取图像数据,也可能由同步控制同时获取多相机通道的数据。根据应用的须要相机多是输出标准的单色视频(RS-170/CCIR)、复合信号(Y/C)、RGB信号,也多是非标准的逐行扫描信号、线扫描信号、高分辨率信号等。
②光源——做为辅助成像器件,对成像质量的好坏每每能起到相当重要的做用,各类形状的LED灯、高频荧光灯、光纤卤素灯等都容易获得。
③传感器——一般以光纤开关、接近开关等的形式出现,用以判断被测对象的位置和状态,告知图像传感器进行正确的采集。
④图像采集卡——一般以插入卡的形式安装在PC中,图像采集卡的主要工做是把相机输出的图像输送给电脑主机。它未来自相机的模拟或数字信号转换成必定格式的图像数据流,同时它能够控制相机的一些参数,好比触发信号,曝光/积分时间,快门速度等。图像采集卡一般有不一样的硬件结构以针对不一样类型的相机,同时也有不一样的总线形式,好比PCI、PCI6四、Compact PCI,PC104,ISA等。
⑤PC平台——电脑是一个PC式视觉系统的核心,在这里完成图像数据的处理和绝大部分的控制逻辑,对于检测类型的应用,一般都须要较高频率的CPU,这样能够减小处理的时间。同时,为了减小工业现场电磁、振动、灰尘、温度等的干扰,必须选择工业级的电脑。
⑥视觉处理软件——机器视觉软件用来完成输入的图像数据的处理,而后经过必定的运算得出结果,这个输出的结果多是PASS/FAIL信号、坐标位置、字符串等。常见的机器视觉软件以C/C++图像库,ActiveX控件,图形式编程环境等形式出现,能够是专用功能的(好比仅仅用于LCD检测,BGA检测,模版对准等),也能够是通用目的的(包括定位、测量、条码/字符识别、斑点检测等)。
⑦控制单元(包含I/O、运动控制、电平转化单元等)——一旦视觉软件完成图像分析(除非仅用于监控),紧接着须要和外部单元进行通讯以完成对生产过程的控制。简单的控制能够直接利用部分图像采集卡自带的I/O,相对复杂的逻辑/运动控制则必须依靠附加可编程逻辑控制单元/运动控制卡来实现必要的动做。
2、图像处理项目的硬件平台选型
常见的图像硬件平台和工具链包括
一、pc+mfc+opencv(或相似的商用软件);
二、arm+qt+opencv(或相似软件);
三、dsp+专用算法库;
四、fpga+专用算法库;
同时,android做为arm的分枝,随着手机已经成为人们平常生活中不可缺乏的一个部分,因此手机方面的图像识别程序/应用程序有着很是巨大的竞争力,
ios也是相似的
。
从价格上来讲
x86工控机只须要几百元,小一千的价格就能够获得一个完整的电脑
dsp和fpga开发板,若是要可以用于图像处理的价格通常都比较贵,至少上千元。
3、小结
最终的选择,仍是应该根据项目的须要选择平台。全部的硬件最终都是支持需求实现的。对于图像处理来讲,通常具备
一、主要功能单一,也就是说不须要丰富的控制资源;
二、算法复杂程度高;
三、实时性有必定程度的要求。
因此,我认为通常来讲,选用x86工控机+mfc+opencv或者qt+opencv的形式应该就可以解决许多问题。基于这个平台进行作工做,选择出稳定的方便扩展的平台,可以支持许多将来的工做。