最近开始学习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. 添加OpenCV库:
set(OpenCV_DIR /usr/share/OpenCV)
find_package(catkin REQUIRED
OpenCV
)
  • 1
  • 2
  • 3
  • 4

这里,应该是我在安装OpenCV和ROS的时候把它们关联起来了,这样执行catkin_make的时候ROS是在自己的路径下找的。同样的方法是无法找到caffe相应的头文件,库文件的。 
2. 添加caffe

 set(Caffe_DIR /home/gph/Desktop/caffe_cmake/caffe-master)find_package(Caffe)
include_directories(${Caffe_INCLUDE_DIRS})
  • 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是不是很方便呢!

版权声明:本文为博主原创文章,转载请联系作者 https://blog.csdn.net/u013832707/article/details/52749214

Caffe + ROS + OpenCV + Qt creator相关推荐

  1. ROS(indigo)使用Qt Creator Plug in即ros_qtc_plugin

    更为详细版本请参考: http://blog.csdn.net/zhangrelay/article/details/52214411 结合看更为具体. 首先,先上原版参考: 请按官网更新内容进行配置 ...

  2. qtcreator版本_【IDE】ROS开发环境之Qt Creator的安装与配置

    可以用于ROS开发的IDE很多(可以参考[工具合辑]ROS工程师都在用什么IDE开发呢?用哪种IDE开发更加高效呢? ),ROS的调试依赖环境变量,与外部程序有通讯,因此要求启动IDE的时候加载ROS ...

  3. ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记

    ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记: 一.Qt Creator 5.10安装 官网下载地址: http://download ...

  4. 使用QT开发ros人机交互界面(1)——安装ROS Qt Creator Plug-in并运行helloworld

    目录 前言 1.安装ROS Qt Creator Plug-in 2.使用catkin_create_qt_pkg命令创建一个package 3.把catkin_qt_ui工作空间导入到Qt中. 4. ...

  5. windows下QT creator+openCV配置和使用

    原文地址:http://blog.csdn.net/u012234115/article/details/41871449?utm_source=tuicool&utm_medium=refe ...

  6. Qt Creator 3.5 怎样导入现有工程

    Qt Creator 3.5 怎样导入现有工程 2017-12-22 09:48:44          来源:shitsnail的博客 收藏   我要投稿 打开Qt Creator ->欢迎- ...

  7. OpenCV+Qt+CMake安装+十种踩坑

    平台:win10 x64+opencv-3.4.1 + qt-x86-5.9.0 + cmake3.13.4 x64 OpenCV+Qt+CMake安装,及目前安装完后打包:mingw32-make时 ...

  8. windows10下安装opencv3.2+QT Creator+MingGW

    一.安转步骤 download QT5.9 download Cmake download openCV3.2 sources code make & make insatll opencv ...

  9. 转载:ROS的QT界面 开发史上 最强教程

    https://blog.csdn.net/LOVE1055259415/article/details/80575432 基于ROS的QT界面开发史上最强教程 使用ROS下的QT插件开发基于ROS界 ...

最新文章

  1. java-高并发解决方案
  2. Android NDK开发-3-环境搭建
  3. 力扣反转字符串中的元音字母
  4. Django使用mysql连接池_Django db使用MySQL连接池
  5. SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-008-带参数的ADVICE
  6. button上传替换file上传按钮,并显示图片缩略图,纯jsp操作
  7. 利用 Zabbix 监控 mysqldump 定时备份数据库是否成功 | 运维进阶
  8. Regularized logistic regression(正则化逻辑回归)----吴恩达机器学习
  9. 读《华为研发》第2版
  10. python分段函数输入x的值求y的值,根据以下分段函数计算y的值,要求x的值由键盘输入,...
  11. 使用成捷讯软件制作简单的通信工程预算----以高速4G新建站为例
  12. C++-dllmain介绍
  13. 金多多简述调整浪的特征十分明显
  14. 惠普关闭 secure boot
  15. 使用EMOS整理笔记
  16. 云开发(微信-小程序)笔记(十四)---- 收藏,点赞(上)
  17. opencv 边缘检测,角点检测
  18. FDM打印机使用总结(一)
  19. 链路层协议——SLIP协议和PPP协议
  20. var和let的区别

热门文章

  1. boost::qvm::deduce_vec相关的测试程序
  2. boost::depth_first_search用法的测试程序
  3. boost::gil::view_is_mutable用法的测试程序
  4. boost::gil::view_is_basic用法的测试程序
  5. boost::geometry::intersects用法的测试程序
  6. GDCM:gdcm::Spacing的测试程序
  7. GDCM:提取DICOM文件的加密内容到der文件的测试程序
  8. VTK:图片之ResizeImage
  9. OpenCV安全屏障摄像机Security Barrier Camera的实例(附完整代码)
  10. C++words search单词搜索的算法实现(附完整源码)