ROS探索总结(十一)—— 机器视觉

44025
94
2016年2月19日 22时46分

        机器视觉在计算机时代已经越来越流行,摄像头价格越来越低廉,部分集成深度传感器的混合型传感器也逐渐在研究领域普及,例如微软推出的Kinect,而且与之配套的软件功能十分强大,为开发带来了极大的便利。ROS集成了Kinect的的驱动包OpenNI,而且使用OpenCV库可以进行多种多样的图像处理。

        注:本章内容及代码均参考《ROS by Example》书中的第十章。

一、图像显示

        我们从最基础的开始,想办法显示Kinect的图像数据。

1、安装驱动包

       安装步骤很简单:
       $sudo apt-get install ros-fuerte-openni-kinect 

2、测试

        首先运行kinect节点:
       $roslaunch rbx1_vision openni_node_fuerte.launch 
        然后我们调用ROS的image_view包来直接显示摄像头的数据库。image_view包的介绍可以参考:
        http://www.ros.org/wiki/image_view。
       $rosrun image_view image_view image:=/camera/rgb/image_color 
        我们可以看到弹出了一个独立的图像显示框:

 

ROS探索总结(十一)—— 机器视觉插图

3、分析数据

        下图是我们上面测试中的节点图。
ROS探索总结(十一)—— 机器视觉插图(1)
        我们可以使用如下的命令来查看节点之间发送的图像消息是什么样的:
        rostopic echo /camera/rgb/image_color 
        然后就会看到数据刷刷的在显示,有没有感觉看不清楚,我们使用终端的重定向功能将数据全部存储到文件中:
        rostopic echo /camera/rgb/image_color > test 
        好了,现在看看文件中是不是已经有数据了,我们来看一下其中的一帧数据:

 

header:   
  seq: 19285  
  stamp:   
    secs: 1370867560  
    nsecs: 538447820  
  frame_id: camera_rgb_optical_frame  
height: 240  
width: 320  
encoding: rgb8  
is_bigendian: 0  
step: 960  
data: [223, 225, 225, 220, 225, 225……………..

 

 

        从数据中我们可以的出来几个很重要的参数,首先是图像的分辨率:240*320,编码的格式是rgb8,也就是说图像应该有240*320=76800个像素,而每个像素由八位的R、G、B三个数据组成,因此我们可以预计下面的data中应该有76800*3=230400个八位的数据了。
我们可以验证一下data中到底有多少个数据,这个很简单了,数一下就行了,不过好像有点多,我使用的是linux的“wc”命令。首先我一帧数据复制到单独的文件中,每个数据都是用“,”号隔开的,只要计算“,”的数量就知道数据的数量了。
ROS探索总结(十一)—— 机器视觉插图(2)
        结果和我们预想的是一样的。知道这个数据格式以后,我们以后就可以直接把其他摄像头的数据装换成这种格式的数据就可以直接在ROS中使用了。

4、rviz显示图像

        我们再来点高级的。rviz是我们经常使用的工具,把图像显示在rviz中才更有应用价值。rviz已经为我们提供好了显示图像的接口,使用非常简单。
首先按照上一节的方法运行kinect节点,然后打开rviz:
        rosrun rviz rviz 
        然后修改“Fixed Frame”为/camera_rgb_color,修改“Target Frame”为<Fixed Frame>,接着点击add,选择camera类型。添加成功后选择camera菜单下的Iamge Topic选项,选择/camera/rgb/image_color,确定后下面的显示框内就显示图像了。

 

ROS探索总结(十一)—— 机器视觉插图(3)

二、深度显示

        使用kinect的一大特色就是可以获得传感器的深度数据,也就是物体距离传感器的距离,传说kinect的可识别范围在60cm到10m之间。 

1、显示深度图像

        首先也需要运行Kinect的节点:
        roslaunch openni_launch openni.launch 
        这一步我使用的是ROS安装openni包中的节点,使用与前面相同的命令运行的节点在后面无法产生深度数据。
然后同样适用iamge_view包就可以简单的显示深度图像了:
        rosrun image_view disparity_view image:=/camera/depth/disparity 

 

        ROS探索总结(十一)—— 机器视觉插图(4)

2、rviz中显示深度

        首先运行rviz:
         rosrun rviz rviz 
        然后修改“Fixed Frame”和“Target Frame”,在add中添加PointCloud2类型,修改“topic”,具体参数如下图所示
ROS探索总结(十一)—— 机器视觉插图(5)

 

 

发表评论

后才能评论

评论列表(94条)

  • Charles 2019年12月27日 下午5:33

    你好,我在阅读《ROS机器人开发实践》第七章时候,添加3D模型到couchdb时候都没有出现错误等问题(object_add, mesh_add),随后我在应用rosrun object_recognition_core push.sh后用浏览器观察3d模型的时候发现界面能够看到Object Listing 和 Meshes两个链接,但是分别点开链接后并没有出现3D模型和数据列表,完全是一片空白。然后我接着training,发现会出现如下错误,
    Traceback (most recent call last):
    File “/home/charles/ork_ws/src/ork_core/apps/training”, line 19, in
    ork_params, _args = read_arguments(args)
    File “/home/charles/ork_ws/src/ork_core/python/object_recognition_core/utils/training_detection_args.py”, line 92, in read_arguments
    raise OrkConfigurationError(‘The option file does not exist. –help for usage.’)
    object_recognition_core.utils.training_detection_args.OrkConfigurationError: The option file does not exist. –help for usage.
    请问这是什么原因,似乎3D模型并没有在couchdb中形成所以没有训练目标,但是之前也没报错啊?网上查了好久也没看到类似状况的。希望能得到解答。另外系统是在virtualbox上运行的Ubuntu16.04。不知道会不会跟虚拟机环境有关

    • 古月 回复 Charles 2020年1月5日 上午11:42

      有可能和虚拟机的模型渲染有关系,另外也检查下模型是否成功加载

  • Arnold 2019年11月5日 下午4:39

    老师,您博客的部分示意图已经无法显示了

  • 桥道夫 2019年9月15日 下午5:09

    老师您好 , 我在roslaunch rbx1_vision face_tracker2.launch时报错 , 困扰了好几天了,可以烦请您帮忙看一下吗?
    [ERROR] [1568536765.896882]:bad callback:<bound method FaceTracker.image_callback of >Traceback(most recent call last):
    File “/opt/ros/melodic/lib/python2.7/dist_packages/rospy/topics.py”,line 750,in_invoke_callback
    cb(msg)
    File “/home/luyuan/hy_ws/src/rbx1/rbx1_vision/src/rbx1_vision/ros2opencv2.py”,line 140,in image_callback
    frame=self.convert_image(data)
    File “/home/luyuan/hy_ws/src/rbx1/rbx1_vision/src/rbx1_vision/ros2opencv2.py”,line 281,in convert_image
    cv_image=self.bridge.imgmsg_to_cv(ros_image,’bgr8′)
    AttributeError: ‘Cvbridge’ object has no attribute’imgmsg-to-cv’

  • 柠檬味 2019年8月23日 上午11:21

    古老师,我按照第七章的步骤标定kinect2时,出现
    service not found
    段错误(核心已转储)
    这个错误是什么问题?怎么解决吖

  • 郭澈 2019年7月17日 上午11:04

    老师您好 我是购买了ROS机器人开发实践 然后下载了例程 把例程的face_detector.launch/.py都拷贝过去 然后编译执行出现了这个错误 opencv和ros都是第一次接触 所以很晕
    OpenCV Error: Assertion failed (!empty()) in detectMultiScale, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/objdetect/src/cascadedetect.cpp, line 1698
    [ERROR] [1563330945.602895]: bad callback: <bound method faceDetector.image_callback of >
    Traceback (most recent call last):
    File “/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py”, line 750, in _invoke_callback
    cb(msg)
    File “/home/super/catkin_ws/src/robot_vision/scripts/face_detector.py”, line 50, in image_callback
    faces_result = self.detect_face(grey_image)
    File “/home/super/catkin_ws/src/robot_vision/scripts/face_detector.py”, line 68, in detect_face
    (self.haar_minSize, self.haar_maxSize))
    error: /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/objdetect/src/cascadedetect.cpp:1698: error: (-215) !empty() in function detectMultiScale

    • 古月 回复 郭澈 2019年7月18日 下午7:47

      书里用的opencv2,可能是3里的接口有变化

    • 桥道夫 回复 古月 2019年9月15日 下午3:18

      老师您好,那请问该怎样解决呢?

    • 桥道夫 回复 郭澈 2019年9月15日 下午2:45

      请问您的问题解决了吗?我出现了相同的报错,实在很困扰啊!

  • 彭劲松 2019年6月26日 上午10:20

    老师您好,我在书中第七章,7.5节运行roslaunch robot_vision motion_detector.launch 出现错误:ERROR: cannot launch node of type [robot_vision/motion_detector.py]: can’t locate node [motion_detector.py] in package [robot_vision]
    这个怎么解决啊

  • gan 2019年5月24日 下午4:50

    @古月 你好!我有个问题困扰着,我在做物体识别时运行到下面这语句时会出现这种错误,请问怎么解决?
    $ rosrun object_recognition_core push.sh
    Traceback (most recent call last):
    File “/usr/local/bin/couchapp”, line 7, in
    from couchapp.dispatch import run
    File “/usr/local/lib/python3.5/dist-packages/couchapp/dispatch.py”, line 10, in
    import couchapp.commands as commands
    File “/usr/local/lib/python3.5/dist-packages/couchapp/commands.py”, line 215
    except BulkSaveError, e:
    ^
    SyntaxError: invalid syntax

    • 古月 回复 gan 2019年5月25日 下午9:32

      语法错误吧

    • gan 回复 古月 2019年5月27日 下午6:32

      我在网上查了一些,他们说时py或者pip版本问题,但我没找到有效解决方法,有的人建议是修改对应的py程序,但改着改着就越来越到要修改,请问有什么方法可以解决呢?我整个流程都是按照你书上的教程一步一步来的,没有做过其他的改动。

    • 古月 回复 gan 2019年5月28日 下午1:53

      我这边运行是没问题的,可能和系统库版本有关,我用的是ubuntu16.04+ROS Kinetic + Python2.7

    • gan 回复 古月 2019年5月30日 上午10:37

      嗯,我已解决了,谢谢您。

    • DC 回复 古月 2019年8月20日 下午8:04

      您好。我在执行face_detector.py/motion_detector.py任务shift出现以下问题。
      roslaunch robot_vision usb_cam.launch ——此时打开了相机,但不弹出摄像界面。
      roslaunch robot_vision face_detector.launch ——此时出现
      [INFO] [1566301239.584882]: Please subscribe the ROS image.
      ——后无反应,请问我该如何操作,谢谢。

    • 古月 回复 DC 2019年8月22日 下午8:16

      运行rqt_image_view来显示结果图像

    • DC 回复 古月 2019年8月22日 下午8:34

      没有用,依旧不会有人脸或跟踪显示,为什么

    • 古月 回复 DC 2019年8月25日 下午4:49

      检查节点是否正常启动,订阅cv_bridge_test话题看到结果

  • 李华健 2019年5月7日 上午11:01

    老师您好,请问gazebo中如何加入红绿灯呢? 感谢了

  • jinxiaoyu 2019年2月25日 上午9:54

    老师 我在运行roslaunch robot_vision motion_detector.launch的时候 出现下列错误
    [ERROR] [WallTime: 1551059336.754519] bad callback: <bound method motionDetector.image_callback of >
    Traceback (most recent call last):
    File “/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py”, line 720, in _invoke_callback
    cb(msg)
    File “/home/jy/catkin_ws/src/ros_exploring-master/robot_perception/robot_vision/scripts/motion_detector.py”, line 47, in image_callback
    binary, cnts, hierarchy= cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    ValueError: need more than 2 values to unpack
    困扰我好几天了 希望老师看到能帮我一下~

    • 古月 回复 jinxiaoyu 2019年2月25日 下午9:20

      opencv版本变化导致的API变化。把binary, cnts, hierarchy这三个参数中的第一个删掉试试

    • jinxiaoyu 回复 古月 2019年2月26日 下午7:08

      成功了!! 太感谢老师了!

    • 千万 回复 jinxiaoyu 2019年4月15日 下午7:26

      我也是跟你一样的情况 所以删除掉的是 ” thresh.copy()”这个吗?我刚学 不只是三个参数中的第一个值得是什么。。小尴尬

    • 千万 回复 jinxiaoyu 2019年4月15日 下午7:28

      还说说删掉的是 cv2.findContours(thresh.copy(),

    • 桥道夫 回复 jinxiaoyu 2019年9月15日 下午3:31

      同问,能不能麻烦@jinxiaoyu 解释一下

    • 桥道夫 回复 古月 2019年9月15日 下午3:31

      这里能不能再麻烦老师解释一下

  • 东虎 2019年1月7日 下午3:11

    老师,您好,我有个问题困扰很久了,用ubuntu16.04+opencv3.2.0跑ros by example 人脸检测时出现了 ImportError: cannot import name cv 的错误

    • 古月 回复 东虎 2019年1月8日 上午3:28

      可能是版本匹配和路径的问题

  • WZX1234566 2018年12月29日 上午11:52

    rosrun robot_vision cv_bridge_test.py
    [rosrun] Couldn’t find executable named cv_bridge_test.py below /home/zhenxing/wzxcatkin_ws/src/robot_vision
    [rosrun] Found the following, but they’re either not files,
    [rosrun] or not executable:
    [rosrun] /home/zhenxing/wzxcatkin_ws/src/robot_vision/scripts/cv_bridge_test.py
    老师 你看一下什么原因 还有就是怎么解决

  • 唯一 2018年11月17日 上午10:33

    胡老师,我使用ROS开发实践书中的第七章三维物体识别包的时候的不到准确的可乐罐识别信息,
    同时摄像头会报[ WARN] [1542421244.161191082]: TF2 exception:
    Lookup would require extrapolation into the past. Requested time 1542421094.859104149 but the earliest data is at time 1542421234.306556182, when looking up transform from frame [camera_depth_optical_frame] to frame [camera_rgb_optical_frame]
    。请问是哪里错了?我用的ORBBEC的摄像头

    • 唯一 回复 唯一 2018年11月17日 上午11:11

      识别时,摄像头范围内没有可乐罐和相似物,但也会提示是识别到了可乐罐。

    • 古月 回复 唯一 2018年11月20日 下午1:43

      模型数据是否经过训练

    • 唯一 回复 古月 2018年11月22日 上午8:48

      抱歉,现在才回复您。可以识别了,但还是会报这个错,获取不到可乐罐的位置信息,我试着识别其他的物体但时会出现个新的错误:
      Traceback (most recent call last):
      File “/home/x/ork_ws/src/ork_core/apps/detection”, line 24, in
      run_plasm(args, plasm)
      File “/home/x/ork_ws/src/ecto/python/ecto/opts.py”, line 85, in run_plasm
      sched.execute(options.niter)
      ecto.CellException: exception_type CellException
      [cell_name] = pipeline1

      [function_name] = process_with_only_these_inputs

      [type] = std::bad_alloc

      [what] = std::bad_alloc

      [when] = While triggering param change callbacks
      ,导致无法启动识别,我将mesh改成GLUT后样报这个错。

    • 古月 回复 唯一 2018年11月24日 下午12:47

      这个错误不太清楚,google找下吧

    • 聂鑫 回复 古月 2019年3月18日 下午2:01

      请问,这个问题解决了吗?我也遇到了这个问题,识别不出来,不知道哪里出了问题。

    • cyu 回复 唯一 2018年12月27日 上午8:41

      这个问题解决了吗,我也遇到了,非常感谢你的帮助

    • 古月 回复 唯一 2018年11月20日 下午1:42

      提示应该是说时间不同步,rviz中可以看到点云数据么?调整fixed frame试试

    • 唯一 回复 古月 2018年11月22日 上午10:14

      抱歉,现在才回复您。可以识别了,但还是会报这个错,获取不到可乐罐的位置信息,我试着识别其他的物体但时会出现个新的错误:
      Traceback (most recent call last):
      File “/home/x/ork_ws/src/ork_core/apps/detection”, line 24, in
      run_plasm(args, plasm)
      File “/home/x/ork_ws/src/ecto/python/ecto/opts.py”, line 85, in run_plasm
      sched.execute(options.niter)
      ecto.CellException: exception_type CellException
      [cell_name] = pipeline1

      [function_name] = process_with_only_these_inputs

      [type] = std::bad_alloc

      [what] = std::bad_alloc

      [when] = While triggering param change callbacks
      ,导致无法启动识别,我将mesh改成GLUT后样报这个错。

  • 灵灵未灵 2018年11月13日 上午2:47

    古月老师,您好,我使用深度摄像头已经获得了我想要的2D图像像素坐标位置。我希望把找到相应位置的(x,y),映射到PointCloud2消息里面,可是不太清楚 其中data的具体数据结构。求帮助,麻烦古月老师了

    • 古月 回复 灵灵未灵 2018年11月14日 下午8:21

      ROS wiki上PointCloud2的详细数据结构,data里边依次存储了每个像素点的rgb和xyz,抓一个数据包对照rgb值看一下就清楚了

    • 灵灵为灵 回复 古月 2018年11月16日 下午10:36

      谢谢古月老师,我自己已经这么干了。可是看到了好像用4个连续uint来表示x,4个连续的uint来表示y,8个连续的uint来表示z,以及16个uint来表示rgb。可是,x、y、z的数值,我不清楚具体代表什么。我看了一下数据,感觉不太像是 我想要的空间坐标。麻烦古月老师了。目前,因为作业的事情,把python3设置成了默认环境,我现在又给设置回2.7,但是roscore一直报错。所以暂时没法给到具体的数据。请见谅。

    • 古月 回复 灵灵为灵 2018年11月20日 下午1:38

      x、y、z是空间的坐标,是浮点数

  • 曙光 2018年11月6日 下午8:52

    古月老师,您好:
    我刚开始学习ROS,用的教材是《ROS机器人开发实践》,在机器视觉那一节, 安装好OpenCV,然后运行 roslaunch robot_vision usb_cam-test.launch 这条命令时,报错:
    [usb_cam.launch] is neither a launch file in package [robot_vision] nor is [robot_vision] a launch file name
    The traceback for the exception was written to the log file
    请老师看看这是什么原因
    谢谢古月老师!

    • 古月 回复 曙光 2018年11月8日 上午10:37

      书上写的是usb_cam.launch这个文件吧,不是usb_cam-test.launch,确定路径设置了么?

    • Dawn 回复 古月 2018年11月8日 下午3:05

      对,书上是usb_cam.launch,我给您留言时敲错了,您说的路径是,这条命令必须在特定的路径下执行才有效吗?

    • 古月 回复 Dawn 2018年11月12日 下午8:35

      路径是指环境变量的设置(setup.bash),不然执行程序的时候找不到公能包

    • Dawn 回复 古月 2018年11月8日 下午3:07

      请问老师应该在什么路径下运行?

  • caocao zhang 2018年7月6日 下午5:48

    woc,我还以为你要讲代码原理。

  • 余涛 2018年5月23日 下午4:41

    博主,您好!~我在做这个视觉的时候,没有Kinect,只有real senseR200,我该怎么解决订阅这个摄像头,出图像和深度信息的问题呢???单独跑R200摄像头没问题,但跑RBX1例程就有问题了。求带飞!

    • 古月 回复 余涛 2018年5月24日 下午2:44

      首先确定real senseR200的驱动包可以运行并采集数据,然后检查一下输出点云的话题名,应该是和RBX1例程中订阅的话题名不一样,重映射一下就可以了

  • zzq 2018年4月24日 上午11:01

    博主你好:
    我也是按照那本书上来操作的,错误提示:cannot import name cv。然后运行 locate cv2.so | grep python 显示:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so。请问一下为什么显示cannot import name cv

    • 古月 回复 zzq 2018年4月24日 下午12:44

      感觉是没找到路径,在CmakeLists里边设置find package试一下

    • 郑争卿 回复 古月 2018年5月18日 下午3:56

      博主你好:
      运行roslaunch rbx1_vision usb_cam 时候,提示错误 没有找的 /dev/video0 ,/dev 下的确没找到 video0和video1,那么我该如何安装video0这个驱动呢?

    • 古月 回复 郑争卿 2018年5月19日 下午4:11

      这是因为你的linux系统没有电脑摄像头的驱动,这个和摄像头的硬件型号相关的,最好在google上找下你这个型号电脑有没有人遇到过类似的问题。

    • 郑争卿 回复 古月 2018年5月21日 上午10:50

      好的 谢谢.

  • 李想 2018年3月5日 上午12:31

    老师您好。我有机器人视觉问题想请教您。

  • 周康 2018年2月9日 下午2:56

    roslaunch rbx1_vision ros2opencv2.launch
    我用的时候出现import cv2.cv as cv
    ImportError: No module named cv
    网上说opencv3不支持,该怎么解决
    跪求!跪求!

  • 小雷 2017年12月12日 下午10:02

    楼主 你好我在 运行这个 rosrun rbx1_vision cv_bridge_demo.py
    出现了Traceback (most recent call last):
    File “/home/wl/catkin_ws/src/rbx1/rbx1_vision/nodes/cv_bridge_demo.py”, line 28, in
    import cv2.cv as cv
    ImportError: No module named cv
    这是什么情况呢

    • 古月 回复 小雷 2017年12月13日 上午9:31

      没安装opencv的包

    • 小白菜 回复 古月 2019年3月7日 上午11:55

      老师你好,我已经安装好了opencv2.4.9,但是import cv2后,cv2.__version__的版本还是opencv3.3.1-dev

    • 古月 回复 小白菜 2019年3月9日 下午4:06

      切换下系统默认调用的cv版本,百度下方法

  • James 2017年12月11日 下午4:16

    博主你好,我安装好驱动包后,再输入roslaunch rbx1_vision openni_node_fuerte.launch 就会出现下面的错误:
    [openni_node_fuerte.launch] is neither a launch file in package [rbx1_vision] nor is [rbx1_vision] a launch file name
    The traceback for the exception was written to the log file
    请问这个怎么回事?

    • 古月 回复 James 2017年12月11日 下午5:36

      我这里用的是fuerte版本的ROS,新版本中已经没有这个文件了,进入rbx1_vision的launch文件夹中找新版中的launch文件名

  • 薛江涛 2017年5月3日 上午9:49

    博主您好,很感谢您写的这些高质量的博客,让我获益匪浅,我是一个ros新手,现在在用turtlebot开发,想做一个自己的界面和ros底层交互的软件,界面用python(pyqt)写的,但我不知道怎么才能在python界面程序中运行ros命令(或者调用节点获取数据),麻烦博主帮我分析一下,万分感谢!!

    • 古月 回复 薛江涛 2017年5月4日 上午10:41

      你好,这个和写ROS的节点的一样的,使用python在代码里写一个或多个节点,订阅需要的数据,同样可以使用ros的其他api,包含ROS的库即可。

    • 薛江涛 回复 古月 2017年5月16日 下午3:43

      谢谢楼主指点,终于可以使用了 但还是需要在命令行启动才行

  • 柚子Betty 2016年11月9日 上午11:14

    博主,你好!我用的是激光雷达,可以确认激光雷达已经连接好,但是打开rviz时,找不到target frame选项设置,我用的indigo版本。,请问这是哪儿出问题了

  • LEO 2016年8月29日 上午10:03

    你好,我执行了rosrun image_view image_view image:=/camare/rgb/image_color 但是弹出窗口后没有图像,kinect是连接过了的。

    • LEO 回复 LEO 2016年8月29日 上午10:55

      已解决,谢谢

  • 无趣的小涛涛 2016年8月23日 下午4:55

    你好 我 用的 jade 版本 在执行驱动 安装的时候 sudo apt-get install ros-jade-openni-kinect 用这个命令 但是 找不到 驱动 怎么办

  • 梦仙 2016年4月1日 下午5:51

    请问:输入rosrun image_view image_view image:=/camera/depth_registered/image_rect后弹出的窗口没有深度图像。然后使用rqt_image_view选取不同话题也无法显示深度图像。使用rostopic echo /camera/depth_registered/image_rect检查话题发布不正常。但是RGB图像可以显示。请问该如何处理呢?

    • 古月 回复 梦仙 2016年4月2日 下午5:00

      你好,有没有设置depth_registered参数为true?

    • 梦仙 回复 古月 2016年4月5日 上午9:23

      您好,在这之前已经按照教程运行了roslaunch openni2_launch openni2.launch depth_registration:=true语句,应该是把depth_registered设定为true了吧。结果还是不显示深度数据。另外我打算直接更改.launch里的depth_registered值,但是提示不能更改。不知道该怎么处理了?(PS我是在win7上安装的虚拟机运行的是否会有影响呢,新手小白谢谢指点!感激不尽!如果方便不知能否加QQ进一步请教您,QQ:942025847.感激不尽!!!)

    • 古月 回复 梦仙 2016年4月5日 下午5:23

      是不是在修改的时候没有超级用户权限?

    • 梦仙 回复 古月 2016年4月5日 下午6:55

      应该不是depth_registered值的问题了,我按照原有的.launch写了一个新的,把里面的depth_registered改为true但还是没有深度图像。。。

    • 古月 回复 梦仙 2016年4月5日 下午7:33

      如果传感器没有问题,用ros里边的包应该是没有问题的,建议可以试一试openni库本身自带的测试程序。

    • 梦仙 回复 古月 2016年4月5日 下午8:47

      我在Ubuntu下把openni2的驱动装了下就好了。。。显示出了深度图像。然后进行ROS for example(indigo版)教程书上的opencv那里,在运行rosrun rbx1_vision cv_bridge_demo.py语句时有出现了不显示的问题,然后仿照上例,在Ubuntu中安装了opencv2.49,但是这次没有解决问题。哎,真是问题多多啊~~~

    • 刘凤楠 回复 梦仙 2016年7月4日 下午7:37

      你好,请问一下,你是怎么装的openni2的驱动,我遇到了和你一样的问题

    • xf 回复 梦仙 2016年9月19日 下午7:56

      请问你的问题解决了吗?我也是在ros by example运行rosrun rbx1_vision cv_bridge_demo.py时不显示?

    • 梦仙 回复 古月 2016年4月5日 下午8:48

      感谢您的解答,抱歉打扰到您了。

    • 古月 回复 梦仙 2016年4月7日 上午9:40

      ubuntu下开发是这样的,时常会遇到一些比较诡异的问题,只能耐心的个个击破。QQ我没办法及时回复,有问题也可以和我邮箱交流。

    • 梦仙 回复 古月 2016年4月7日 上午10:12

      好的,那请问你的邮箱是?

    • 古月 回复 梦仙 2016年4月7日 下午2:11

      hcx196@sina.com,或huchunxu@hust.edu.cn

    • Jx_Rain 回复 梦仙 2016年5月13日 上午5:21

      我认为应该是虚拟机的问题,因为我也碰到。在虚拟机中没有深度图像。后来我装了双系统,直接在ubuntu下就有深度图像了。