halcon机器视觉软件_如何利用开源软件开发机器人视觉系统?

b660cd101bc574baeb55ba08ebd8cad9.png

机器人视觉应用程序可以带来一系列复杂的需求,但开源库可以为几乎所有需求提供解决方案。开发人员可以找到从基本的图像处理和对象识别再到运动规划和避免碰撞的开源软件包 。另外,还有有一些关键的开源图像处理软件包,可以帮助开发人员实现复杂的机器人系统。

在可用的开源软件包中,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所示的结果。

from SimpleCV import Image, Color, Display  
# Make a function that does a half and half image. def halfsies(left,right):     
result = left     
# crop the right image to be just the right side.     crop   = right.crop(right.width/2.0,0,right.width/2.0,right.height)     # now paste the crop on the left image.     
result = result.blit(crop,(left.width/2,0))     
# return the results.     
return result
#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值