1. 程式人生 > >opencv3.3中基於ssd演算法的目標檢測示例教程

opencv3.3中基於ssd演算法的目標檢測示例教程

環境:Ubuntu16.04 / opencv3.3

#以下命令在終端執行

環境準備:

1:安裝依賴項: sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev 2:用git下載github上的opencv3.3: git clone
[email protected]
:opencv/opencv.git 3:到下載好的opencv資料夾下: mkdir build #建立名為build的資料夾,存cmake等的檔案 cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. #用cmake安裝(編譯)opencv相關元件 make -j4#用make編譯,這是最低配置要求,可以加引數-j8 sudo make install #最後的安裝 至此,opencv安裝完畢。 opencv3.3已經將opencv_contrib整合到opencv資料夾,所以我們要用的dnn就在opencv目錄中:

步驟:

1:在自己的主目錄下建一個test資料夾,將下載的opencv/samples/data/dnn中的rgb.jpg和samples/dnn中的ssd_object_detection.cpp複製到test資料夾 2:到https://github.com/weiliu89/caffe/tree/ssd#models 下載訓練模型,我用的是VGG_VOC0712_SSD_300x300_iter_120000.caffemodel 將下載的模型放到test資料夾,並解壓 3:將opencv/samples/dnn/face_detector中的test.prototxt複製到test資料夾 4:修改ssd_object_detection.cpp中的內容: 將:
修改為自己的相關引數(model,image,proto),我修改後的: 其中min_confidence為最小置信率,檢測目標時置信率超過該值才打印出來(認為檢測到有效目標)   5:將opencv/samples/cpp/example_cmake中的CMakeLists.txt複製到test資料夾,這個檔案是cmake的編譯配置檔案,修改其中的example.cpp為ssd_object_detection.cpp 至此,需要的工具準備完成。 let's start: 5:用cmake編譯: 進入test資料夾,並在終端執行 cmake . #編譯當前資料夾 make ./opencv_example #執行生成的可執行檔案   至此所有步驟完。以下是我的執行結果: 如以上過程報錯,自行百度解決

檢視原文:http://www.alanpro.win/opencv3-3%e4%b8%ad%e5%9f%ba%e4%ba%8essd%e7%ae%97%e6%b3%95%e7%9a%84%e7%9b%ae%e6%a0%87%e6%a3%80%e6%b5%8b%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b/