Caffe + ROS + OpenCV + Qt creator
最近開始學習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是不是很方便呢!
版權聲明:本文為博主原創文章,轉載請聯系作者 https://blog.csdn.net/u013832707/article/details/52749214總結
以上是生活随笔為你收集整理的Caffe + ROS + OpenCV + Qt creator的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe学习:通过研读classifi
- 下一篇: FastMaskRCNN算法Tensor