首页 / 行业
如何利用开源软件开发机器人视觉系统
2019-06-29 09:12:00

机器人视觉应用程序可以带来一系列复杂的需求,但开源库可以为几乎所有需求提供解决方案。开发人员可以找到从基本的图像处理和对象识别再到运动规划和避免碰撞的开源软件包 。另外,还有有一些关键的开源图像处理软件包,可以帮助开发人员实现复杂的机器人系统。
在可用的开源软件包中,OpenCV可能是使用最广泛、功能最丰富的。OpenCV分发版实现了超过2500种算法,通过一系列模块处理图像处理需求,其中包括以下内容:
core,定义所有其他模块使用的基本数据结构和函数;
imgproc,提供图像处理功能,包括线性和非线性图像滤波、几何图像变换、颜色空间转换、直方图等;
video,支持运动估计,背景减法和对象跟踪算法;
calib3d,提供基本几何算法,摄像机校准,物体姿态估计等;
features2d,提供特征检测器,描述符和描述符匹配;
objdetect,提供对象和预定义类实例的检测;
OpenCV使用c++编写,支持c++、Python、Java和Matlab接口,支持Windows、Linux、Android和Mac OS。OpenCV除了支持单指令、多数据(SIMD)指令集外,还通过GPU模块为许多功能提供基于cuda的GPU加速,通过ocl模块提供OpenCL加速。最近发布的OpenCV 4.0带来了许多性能改进和功能,包括流行的Kinect融合算法的实现。
就其功能而言,OpenCV可能需要一个学习过程,这超出了希望使用机器人视觉快速移动的开发人员的耐心。对于这些开发人员,基于python的SimpleCV也可能是个不错的选择。SimpleCV构建于OpenCV之上,它提供了高级机器人视觉开发人员所需的功能,但也提供了一个可访问的框架,帮助经验较少的开发人员使用简单的Python函数调用来探索基本的机器视觉功能。例如,开发人员可以使用SimpleCV image类中的一个简单内置方法(下面清单中的img. binalize())快速实现常用的函数,比如图像阈值化,最后显示如图1所示的结果。
fromSimpleCVimportImage,Color,Display #Makeafunctionthatdoesahalfandhalfimage. defhalfsies(left,right): result=left #croptherightimagetobejusttherightside. crop=right.crop(right.width/2.0,0,right.width/2.0,right.height) #nowpastethecropontheleftimage. result=result.blit(crop,(left.width/2,0)) #returntheresults. returnresult#Loadanimagefromimgur.img=Image('/d/article/20230502/lfAeZ4n.webp') #binarizetheimageusingathresholdof90#andinverttheresults.output=img.binarize(90).invert()#createthesidebysideimage.result=halfsies(img,output)#showtheresultingimage.result.show()#savetheresultstoafile.result.save('juniperbinary.webp')
图1.上面列出的Python代码的结果(来源:SimpleCV)
除了基本的图像处理功能外,OpenCV和SimpleCV还实现了许多高级图像处理算法,机器人系统需要处理对象或在物理环境中安全运行。在许多这些计算中使用的基本数据结构之一是点云 – 表示对象的多维数据点的集合(图2)。从相机获取,对象的点云用于基本的机器人操作,例如对象识别,对齐和拟合。对于使用点云,点云库(PCL)[源代码]实现了过滤,拟合,关键点提取,分割等算法。
图2.基本环面的点云数据集。
最新内容
手机 |
相关内容
梦芯科技独立北斗芯片模块MXT2721
梦芯科技独立北斗芯片模块MXT2721隆重发布,芯片,北斗,模块,能力,导航,支持,梦芯科技是一家致力于研发和生产半导体产品的高科技公司DigiKey 推出《超越医疗科技》视频
DigiKey 推出《超越医疗科技》视频系列的第一季,推出,医疗科技,健康,需求,产品,诊断,全球供应品类丰富、发货快速的现货技术元器件半导体主控技术:驱动自动驾驶革命的
半导体主控技术:驱动自动驾驶革命的引擎,自动驾驶,交通,自动驾驶系统,数据,车辆,自动,随着科技的不断进步,自动驾驶技术已经成为现实台积电1.4nm,有了新进展
台积电1.4nm,有了新进展,台积电,行业,需求,竞争力,支持,芯片,近日,台积电(TSMC)宣布将探索1.4纳米技术,这是一项令人振奋的举措,将有望为E晶振在激光雷达系统中的作用
晶振在激光雷达系统中的作用,作用,系统,激光雷达,晶振,可靠性,选择,激光雷达(Lidar)是一种利用激光进行测距的技术,广泛应用于自动驾驶Arbe 4D成像雷达以高分辨率雷达技
Arbe 4D成像雷达以高分辨率雷达技术和先进处理技术消除“幽灵刹车”问题,刹车,成像,分辨率,系统,目标,数据,Arbe 4D成像雷达是一种浅析动力电池熔断器的基础知识及选
浅析动力电池熔断器的基础知识及选型,动力电池,时切,系统安全,作用,产品,系统,BA4558F-E2动力电池熔断器是用于保护动力电池系统安小到一个分子!研究人员开发一种微小
小到一个分子!研究人员开发一种微小的压电电阻器,优化,位置,结构,用于,传感器,压电效应,近年来,随着电子技术的快速发展,对微小尺寸电