网站大量收购闲置独家精品文档,联系QQ:2885784924

《鸿蒙机器人编程》课件——15-机器视觉.pptxVIP

《鸿蒙机器人编程》课件——15-机器视觉.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

机器视觉初步

课程介绍课程安排:介绍ROS下与机器视觉相关的基础包以及彩色和深度相机的使用方法。课程目的:了解ROS下机器视觉入门工具包,并知道如何使用。所需基础:了解摄像头基本原理,掌握ROS编程基础。课程内容:机器视觉概述,获取并显示图像,摄像头的标定,深度摄像头初步?NXROBO20222

机器视觉概述机器视觉就是用机器代替人眼来做测量和判断。机器视觉检测系统采用CCD或CMOS照相机将被检测的目标转换成图像信号,传送给专用的图像处理系统根据像素分布和亮度、颜色等信息,转变成数字化信号图像处理系统对这些信号进行各种运算来抽取目标的机器视觉特征,如面积、数量、位置、长度再根据预设的允许度和其他条件输出结果,包括尺寸、角度、个数、合格/不合格、有/无等,实现自动识别功能。?NXROBO20223

机器视觉概述在ROS系统中,我们常用的视觉传感器是USB摄像头,价格低廉并且大家都很熟悉。但是不同于windows,我们可能需要自己安装驱动程序。在驱动程序搞定之后,我们就可以使用image_view包来显示图像然后进一步提供给其他算法包来做进一步处理。当然了,和其他传感器不同的是,我们在正式使用摄像头的数据之前需要对它进行标定,以获取摄像头的各项参数,在后面的处理中进行校正。?NXROBO20224

获取并显示图像当我们把摄像头通过USB与计算机连接之后,下一步便是通过ROS来调取摄像头图像了。不过,在ROS系统中,USB摄像头并不被原生支持,我们需要自己安装驱动包来获取摄像头图像并发布出去,这样image_view包才能够获取图像并显示出来。下载并编译usb_cam包:?NXROBO20225$cd~/你的工作空间/src$gitclone/bosch-ros-pkg/usb_cam.git$cd..$catkin_make

获取并显示图像?NXROBO20226

获取并显示图像运行test脚本:?NXROBO20227$cd~/catkin_make/$roslaunchusb_camusb_cam-test.launch

usb_cam-test.launch文件?NXROBO20228launchnodename=usb_campkg=usb_camtype=usb_cam_nodeoutput=screenparamname=video_devicevalue=/dev/video0/paramname=image_widthvalue=640/paramname=image_heightvalue=480/paramname=pixel_formatvalue=yuyv/paramname=camera_frame_idvalue=usb_cam/paramname=io_methodvalue=mmap//nodenodename=image_viewpkg=image_viewtype=image_viewrespawn=falseoutput=screenremapfrom=imageto=/usb_cam/image_raw/paramname=autosizevalue=true//node/launch

获取并显示图像可以看到,脚本中开启了两个节点一个是usb_cam自身的节点,它附带了几个参数以确定图像的来源及格式;其中,video_device设定图像来源的设备,在Ubuntu中,可以通过以下命令查看当前系统中可用的视频设备另一个是image_view节点,用于显示获取到的图像数据。??NXROBO20229$ls/dev/|grepvideo

标定由于大部分摄像头经过镜头获取图像之后会产生失真,对我们后期的图像处理造成误差所以,我们需要首先对此摄像头进行标定,以此获取摄像头内参。标定方法主要是使用一种已知的标定图案,通过对不同角度的视图进行辨识来实现。在这里我们使用经典的棋盘图案来做标定,当然也有其他的标定图案,不过不在我们本次的讨论范围,大家有兴趣可自行查询。?NXROBO202210

标定?NXROBO202211我们使用camera_calibration包进行标定,不过在标定之前我们需要打开摄像头并将图像发布出来,并不需要开启image_view包来显示图像,所以,我们需要精简上一步所使用的launch文件,去掉开启image_view包的脚本。修改如下:launchnodename=usb_campkg=usb_camtype=usb_cam_nodeoutput=scree

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档