机器人视觉项目:视觉检测识别+机器人跟随(17)

参考一个实例行人检测
在ubuntu+ros环境下,利用RGBD采集数据给小车,实现行人跟随。

原作者开源的例子是出现一个窗口,用鼠标选择一个区域做kcf跟随,选择的物体不受限制,物体移动后,机器人随即跟随。
博主实现的是用opencv行人检测的demo,替换原作者的例子。该demo在opencv-2.4.13/samples/cpp/peopledetect.cpp下。

先认识一下原作者的例子中的runtracker.cpp,其中的ImageConverter类是核心,首先对接收/发送主题的Publisher/Subscrible初始化,
设置回调函数。

image_sub_ = it_.subscribe("/camera/rgb/image_rect_color", 1,&ImageConverter::imageCb, this);
depth_sub_ = it_.subscribe("/camera/depth/image", 1,&ImageConverter::depthCb, this);
pub = nh_.advertise<geometry_msgs::Twist>("/mobile_base/mobile_base_controller/cmd_vel", 1000);image_sub_是接受rgb图的subscribe,执行imageCb回掉函数,imageCb主要是将摄像头的数据显示在窗口中,选择感兴趣区域。 
depth_sub_是接受深度图的subscribe,执行depthCb回掉函数,depthCb作用就是计算距离和方向。 
将手动选择感兴趣区域改为自动选择感兴趣区域,是在imageCb函数中修改。
imageCb中 cv::setMouseCallback(RGB_WINDOW, onMouse, 0);监听鼠标操作,如果鼠标不动,程序不会往下执行。onMouse为鼠标监听回调。
要实现自动选择肯定就不能用这个了,将其注掉。 
onMouse函数:当按下鼠标左键时,这个点就是起始点,按住鼠标左键移动鼠标&

  • 1
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值