0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

新机器视觉 来源:xx 2019-06-29 09:12 次阅读

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

在可用的开源软件包中,OpenCV可能是使用最广泛、功能最丰富的。OpenCV分发版实现了超过2500种算法,通过一系列模块处理图像处理需求,其中包括以下内容:

core,定义所有其他模块使用的基本数据结构和函数;

imgproc,提供图像处理功能,包括线性和非线性图像滤波、几何图像变换、颜色空间转换、直方图等;

video,支持运动估计,背景减法和对象跟踪算法;

calib3d,提供基本几何算法,摄像机校准,物体姿态估计等;

features2d,提供特征检测器,描述符和描述符匹配;

objdetect,提供对象和预定义类实例的检测;

OpenCV使用c++编写,支持c++、PythonJavaMatlab接口,支持Windows、LinuxAndroid和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('http://i.imgur.com/lfAeZ4n.png') #binarizetheimageusingathresholdof90#andinverttheresults.output=img.binarize(90).invert()#createthesidebysideimage.result=halfsies(img,output)#showtheresultingimage.result.show()#savetheresultstoafile.result.save('juniperbinary.png')

图1.上面列出的Python代码的结果(来源:SimpleCV)

除了基本的图像处理功能外,OpenCV和SimpleCV还实现了许多高级图像处理算法,机器人系统需要处理对象或在物理环境中安全运行。在许多这些计算中使用的基本数据结构之一是点云 – 表示对象的多维数据点的集合(图2)。从相机获取,对象的点云用于基本的机器人操作,例如对象识别,对齐和拟合。对于使用点云,点云库(PCL)[源代码]实现了过滤,拟合,关键点提取,分割等算法。

图2.基本环面的点云数据集。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28212

    浏览量

    206566
  • 开源软件
    +关注

    关注

    0

    文章

    209

    浏览量

    15887

原文标题:如何利用开源软件开发机器人视觉系统?

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    安森美机器视觉系统解决方案

    机器视觉广泛应用于工业领域,涵盖众多应用场景。在制造业中,利用机器视觉执行的任务有:对子组件进行最终检查,查验零件有无潜在制造缺陷等等。在自
    的头像 发表于 11-14 09:53 143次阅读
    安森美<b class='flag-5'>机器</b><b class='flag-5'>视觉系统</b>解决方案

    解锁机器人视觉与人工智能的潜力,从“盲人机器”改造成有视觉能力的机器人(上)

    正如人类依赖眼睛和大脑来解读世界,机器人也需要自己的视觉系统来有效运作。没有视觉机器人就如同蒙上双眼的人类,仅能执行预编程的命令,容易碰撞障碍物,并犯下代价高昂的错误。这正是
    的头像 发表于 10-12 09:56 329次阅读
    解锁<b class='flag-5'>机器人</b><b class='flag-5'>视觉</b>与人工智能的潜力,从“盲人<b class='flag-5'>机器</b>”改造成有<b class='flag-5'>视觉</b>能力的<b class='flag-5'>机器人</b>(上)

    适用于机器人视觉系统的LED光源

    工业光源在机器视觉系统中扮演着至关重要的角色,它们直接影响到图像采集的质量以及后续图像处理的效率和准确性。在自动化生产线上,光源用于辅助机器人进行精确的零件装配。通过提供稳定且高质量的照明,光源帮助
    的头像 发表于 08-30 13:10 199次阅读
    适用于<b class='flag-5'>机器人</b><b class='flag-5'>视觉系统</b>的LED光源

    机器视觉系统用途与实现及市场趋势

    机器视觉广泛应用于工业领域,涵盖众多应用场景。在制造业中,利用机器视觉执行的任务有:对子组件进行最终检查,查验零件有无潜在制造缺陷等等。在自
    的头像 发表于 07-26 09:22 818次阅读

    ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!

    ,简单快捷地调用合适的算法库,以提高开发效率,加快开发进程。 (2) 开源免费,架构精简 ROS系统是一个开源免费,架构精简的
    发表于 07-09 11:38

    机器人视觉的作用是什么

    的应用越来越广泛,成为推动机器人技术发展的重要力量。 二、机器人视觉的基本原理 视觉感知:机器人视觉系统
    的头像 发表于 07-04 11:24 604次阅读

    机器人手眼标定软件 #视觉定位 #视觉标定 #视觉软件 #协作机器人 #视觉系统

    机器人机器视觉
    fuweizn
    发布于 :2024年07月02日 15:10:17

    机器视觉系统的工作原理和应用领域

      随着科技的飞速发展,机器视觉系统已成为工业自动化领域不可或缺的一部分。机器视觉系统,顾名思义,就是使用机器来模拟和实现人类
    的头像 发表于 06-06 14:04 870次阅读

    基于FPGA EtherCAT的六自由度机器人视觉伺服控制设计

    标。ESR6B 机器人的基本技术参数如表 2-1 所示。 表 2-1 ESR6B 机器人基本技术参数 3. 机器人视觉系统硬件平台搭建
    发表于 05-29 16:17

    视觉机器人焊接的研究现状

    现状进行探讨。 视觉机器人焊接技术在工业领域的应用日益广泛。随着工业自动化水平的提高,传统的手工焊接已经无法满足生产需求,因而自动化焊接技术成为了工业制造的重要组成部分。视觉机器人焊接
    的头像 发表于 04-02 15:34 489次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>机器人</b>焊接的研究现状

    机器人视觉系统深度解析

    从功能上来看,典型的机器视觉系统可以分为:图像采集部分、图像处理部分和运动控制部分。
    发表于 03-05 11:39 454次阅读
    <b class='flag-5'>机器人</b><b class='flag-5'>视觉系统</b>深度解析

    机器视觉软件有哪些 机器视觉软件的优点

    机器视觉软件是一种利用计算机视觉技术来模拟和弥补视觉
    的头像 发表于 02-02 10:53 1466次阅读

    字节发布机器人领域首个开源视觉-语言操作大模型,激发开源VLMs更大潜能

    对此,ByteDance Research 基于开源的多模态语言视觉大模型 OpenFlamingo 开发开源、易用的 RoboFlamingo
    的头像 发表于 01-23 16:02 488次阅读
    字节发布<b class='flag-5'>机器人</b>领域首个<b class='flag-5'>开源</b><b class='flag-5'>视觉</b>-语言操作大模型,激发<b class='flag-5'>开源</b>VLMs更大潜能

    机器人基于开源的多模态语言视觉大模型

    ByteDance Research 基于开源的多模态语言视觉大模型 OpenFlamingo 开发开源、易用的 RoboFlamingo 机器人
    发表于 01-19 11:43 366次阅读
    <b class='flag-5'>机器人</b>基于<b class='flag-5'>开源</b>的多模态语言<b class='flag-5'>视觉</b>大模型

    ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!

    库的支持,ROS系统提供丰富且功能强大的机器人算法库,如坐标变换、运动控制等。机器人开发者可根据开发需要,简单快捷地调用合适的算法库,以提高
    发表于 11-30 16:01