OpenCV升级到3.0之后cv::imshow子线程中更新图片不显示

Ubuntu 16.04上测试 OpenCV 3.2,遇到一个在子线程中更新图像,而界面不刷新的问题。

编译执行如下代码:

可以看到,上面的代码执行之后,界面并没有出现,即使出现也没有刷新。

这个问题是由于界面更新必须在主线程中执行,需要用户手工通知主线程。

修改后的代码如下:

也就是每次更新图片后手工调用代码

参考链接


c++ opencv image not display inside the boost thread

Ubuntu 16.04.3系统上OpenPTrack V1版本安装配置(Kinect V2)

对于 Ubuntu 14.04.5系统上的安装操作,请参考Ubuntu 14.04.5系统上OpenPTrack V1版本安装配置(Kinect V2)

下面是我自己 fork出来修改后的代码在 Ubuntu 16.04.3系统上的安装操作

1.从GitHub上获取项目代码

2.安装ROS

3.安装 OpenPTrack

4.链接 OpenPTrack目录

5. Kinect V2驱动程序安装

6.重新编译代码

执行如下命令:

检查当前用户目录下的 .bashrc文件,然后注释掉如下内容:

上面语句如不注释,会导致程序启动时候的崩溃。

新建一个 Shell,执行如下命令

7.测试系统

可能需要重新插拔一下 KinectUSB数据线,然后执行如下命令

执行之后,等待十几秒,然后 Ctrl+C中断执行。
执行完成后,执行

之后,会弹出三个界面出来。

参考链接


OpenPTrack Installation Guide

机器人程序设计之如何正确入门ROS

当前大家学习ROS还是以自学为主,所以会走很多的弯路,目前所谓的大神们也都是这样过来的。基本上早期开发机器人大家都是各干各的,甚至是防着彼此,生怕别人把我们的代码、设计抄袭过去,这样其实大家就是在重复地造轮子,进行一些底层的无聊工作。

继续阅读机器人程序设计之如何正确入门ROS

Ubuntu 14.04.5系统上OpenPTrack V1版本安装配置(Kinect V2)

目前在研究视觉跟踪人的事情,找到的比较好的参考项目就是 OpenPTrack了,截至目前( 2017.8.14OpenPTrackV2版本还没有释放出代码,因此我们只能依旧在 V1版本上进行测试,这个版本目前只能在 Ubuntu 14.04.5系统上运行,其他系统上(比如 Ubuntu 16.04)问题比较多,还是建议在 Ubuntu 14.04.5系统上进行安装。

1.从GitHub上获取项目代码

2.安装ROS

3.安装 OpenPTrack

4.链接 OpenPTrack目录

5. Kinect V2驱动程序安装

重启系统,然后执行如下命令:

6.完整的自动化安装脚本

7.测试系统

可能需要重新插拔一下 KinectUSB数据线,然后执行如下命令

执行之后,等待十几秒,然后 Ctrl+C中断执行。
执行完成后,执行

之后,会弹出三个界面出来。

参考链接


OpenPTrack Installation Guide

ROS下使用roslaunch命令时使用gdb调试

最近在使用 OpenPTrack来进行人的跟踪测试,可是运行程序的时候总是崩溃。
OpenPTrack是通过 roslaunch命令来运行程序的。
网上搜索了一下,可以找到对应的 launch文件,在其中的 node节点中增加如下语句即可

我们以

这条命令为例, detection_and_tracking_kinect2.launch文件的原始内容如下:

增加调试命令之后的样子如下:

(注意代码添加位置)这样在执行原来例子的时候,就会先打开一个新的 Shell界面,被调试的程序就在这个 Shell中被执行了。

注意,这样设置后,会导致传递的应用启动参数( argc,argv)的丢失,这部分一般需要手工调整一下代码才可以。

参考链接