Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行

前言:参加英特尔杯和大创需要对OpenPose的DEMO进行一些定制然后传入神经网络,昨天只是完成了开发环境的配置,因为头一次看到过OpenPose、Caffe这类这么大的项目,再加上对linux的不熟悉,摸索了好久才找到定制OpenPose DEMO的方法。因为网上一篇类似的教程都没有,所以决定还是写下来,虽然对于熟悉linux的朋友来说比较基础(解决问题的方法甚至不甚规范),但相信这个教程还是能够帮到像我一样的小白

0.开发环境准备

在这之前,你需要配置好OpenPose、Caffe、CLion的开发环境。对于OpenPose和Caffe的配置,可以参考我的上一篇文章 Ubuntu16.04下配置CUDA8.0+cuDNN5.1+Caffe+OpenPose
CLion的安装请 点这里访问JetBrains的官方网站自行下载(如果是在校大学生的话可以免费领取JetBrains全家桶,具体方法不再赘述)

1.在CLion中创建项目并导入代码

Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第1张图片
点击New Project创建新项目,项目名就随便取了一个
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第2张图片
点击Create之后应该会出来这样的界面
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第3张图片
接着在openpose/examples/tutorial_wrapper目录下查看文件
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第4张图片
随意(根据具体需求)打开一个.cpp文件,复制其中的代码到剪切板
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第5张图片
然后打开CLion,在项目根目录下新建一个openpose.cpp文件,将刚才复制的代码粘贴进去
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第6张图片
右键原来的main.cpp将其删除
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第7张图片

2.配置项目的CMakeLists.txt文件并运行程序

我们打开 openpose/examples/tutorial_wrapper目录下的CMakeLists.txt文件,观察它的代码,找到如下图所示中的这一段,复制到剪切板
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第8张图片
将其粘贴到openposedemo项目(也就是CLion中创建的项目)中的CMakeLists.txt文件中,替换掉其中的“ add_executable(openposedemo openpose.cpp)”,结果如下图所示
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第9张图片
将其内形如${标识符}的变量作如下替换(这一步的原理很好理解,对这方面熟悉的朋友可以自行用更好的方式)
${EXE_NAME}替换为openposedemo.bin
${EXAMPLE_FILE}替换为openpose.cpp
最重要的是:对动态链接库进行配置(不知道是不是该这么说),因为我在这方面只有一个下午的基础,所以只能够通过反复debug查看需要链接的库,然后手动在计算机内搜索目录进行配置,我相信肯定会有更好的方法,也希望看到这篇博客的前辈们如果有合适的解决思路能够联系我进行更正,未来如果我找到了更加简便并具有普适性的方法也会主动进行更正
对于openpose/examples/tutorial_wrapper文件夹下第一个.cpp文件的CMakeLists.txt配置如下
cmake_minimum_required(VERSION 3.9)
project(openposedemo)
set(CMAKE_CXX_STANDARD 11)
LINK_DIRECTORIES(/usr/lib)
add_executable(openposedemo.bin openpose.cpp)
target_link_libraries( openposedemo.bin openpose libglog.so libgflags.so libpthread.so /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4 /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4 /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4 /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4 ${Caffe_LIBS} ${MKL_LIBS} ${GLUT_LIBRARY} ${SPINNAKER_LIB})
如图所示
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第10张图片
接下来在项目文件中添加训练后的模型,具体步骤如下:
打开openpose文件夹,复制其下的models文件夹
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第11张图片
将其粘贴到openposedemo.bin文件所属的目录中
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第12张图片
事实上,到这一步就已经可以直接生成项目并运行了,如果你想对项目做一些(象征性)的改变,请接着往下看

3.对源代码进行改动,生成定制的程序

将openpose文件夹下的examples文件夹复制到openposedemo.bin文件所属的目录中,如下图
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第13张图片
再将源代码做如下改动
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第14张图片
编译并运行程序,结果如下图所示
Ubuntu16.04下使用CLion修改OpenPose官方DEMO并编译运行_第15张图片

你可能感兴趣的:(OpenPose学习笔记,OpenPose,Ubuntu,Linux)