caffe ros opencv qt creator -ag凯发k8国际
最近开始学习caffe的使用,断断续续的终于算是把相关的环境配置的合乎自己的心意了。期间遇到了很多问题,现在来总结一下希望能帮到大家。由于我并没有系统的学习过cmake这种管理工程的方式,很多的名词来源于自己看各种博客和教程,免不了有很多基本的错误,请大家见谅。
基本介绍:
caffe:一个开源的深度学习的框架,利用它我们可以很方便的设计,训练,使用自己或他人的模型。
ros:机器人操作系统,在ros框架下可以同时运行多个节点,并且各个节点之间能够互相通信。
opencv:开源的计算机视觉库。
qt creator:我把它当成一个集成开发环境在使用。
我是需要在ros框架下编写程序,程序中会调用caffe和opencv这两个库,同时ubuntu下我习惯使用的ide是qt creator。
实现方法:
建立工作空间
ros使用的catkin_make命令本质和cmake命令是相同的,能用catkin_make编译的ros包也能用cmake编译。所以整个组织结构按ros的习惯进行:
- 建立工作空间
- 创建相应的功能包
编辑cmakelist.txt:
- 1
- 2
- 3
- 4
这里,应该是我在安装opencv和ros的时候把它们关联起来了,这样执行catkin_make的时候ros是在自己的路径下找的。同样的方法是无法找到caffe相应的头文件,库文件的。
2. 添加caffe
- 1
- 2
- 3
整个cmakelist.txt如下:
cmake_minimum_required(version 2.8.3) project(usecaffe)set(caffe_dir /home/gph/desktop/caffe_cmake/caffe-master) set(opencv_dir /usr/share/opencv)find_package(caffe) include_directories(${caffe_include_dirs})find_package(catkin required opencv )catkin_package( )include_directories(include ${catkin_include_dirs}${caffe_include_dirs} )set(cpp_sources src/usecaffe.cpp)add_executable(usecaffe ${cpp_sources})target_link_libraries(usecaffe${catkin_libraries}${caffe_libraries} )- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
注意:添加caffe的语句一定要在添加opencv的语句之前。也就是说,find_package(caffe)要在find_package(catkin required)之前,否则虽然能够编译,但是qt打开时仍然显示找不到caffe的头文件。
利用qt打开:
为了使qt能找到ros相关命令,应该再能够使用ros相关命令的终端里打开qt。我的是直接打开终端,输入qtcreator &即可;之后选择open project打开编辑过的cmakelist.txt,选择相应的路径保存qt生成的文件;再run cmake,之后点击finish即可。
可以看到,caffe的头文件,opencv的头文件都找到了,同时也能使用caffe的命名空间caffe是不是很方便呢!
ag凯发k8国际的版权声明:本文为博主原创文章,转载请联系作者 https://blog.csdn.net/u013832707/article/details/52749214总结
以上是ag凯发k8国际为你收集整理的caffe ros opencv qt creator的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: