【目標檢測】Ubuntu版本Darknet編譯+libdarknet.a靜態鏈接庫和libdarknet.so動態鏈接庫調用+VMware 12.0.1+Opencv3.4.1

在Ubuntu16.04 LTS系統上編譯Opencv3.4.1和Darknet

電腦是x86_64架構的,如果要用在樹莓派那種arm架構電腦上的話,可以參考:

【樹莓派3B上測試YOLO效果】http://www.360doc.com/content/17/0909/23/27698033_685865660.shtml

 

1.VMware 12.0.1+Ubuntu16.04 LTS的安裝

參考:【虛擬機安裝Ubuntu 16.04.5 圖解】https://blog.csdn.net/qq1326702940/article/details/82322079

方便又快捷!雙系統安裝很快很爽,

但是如果只有一臺電腦,系統之間切換,或者文件傳輸就很麻煩了,所以還是老實點用虛擬機吧

 

2.Opencv3.4.1編譯

參考:【ubuntu16.04安裝opencv3.4.1教程】https://blog.csdn.net/cocoaqin/article/details/78163171

可以手動下載 ippicv_2017u3_lnx_intel64_general_20170822.tgz

詳細參考https://blog.csdn.net/u010739369/article/details/79966263

 

3.Darknet編譯

darknet的編譯可以說簡單到三行命令行你就可以帶回家

直接看【官網】https://pjreddie.com/darknet/yolo/

裏面就有很好的編譯說明

首先是下載darknet項目

git clone https://github.com/pjreddie/darknet

然後根據實際情況修改makefile

我沒有用到GPU,所以GPU=0

OPENCV=1 

GPU=0

最後

make

編譯好的darknet文件夾長這個樣子

4.C++應用中調用darknet進行目標檢測

說白了就是對libdarknet.a靜態鏈接庫和libdarknet.so動態鏈接庫調用

參考:【C++應用中調用YOLOv3(darknet)進行目標檢測】https://blog.csdn.net/weixin_33860450/article/details/84890877

這位博主給出了非常棒的源碼,就差一份CMakeLists.txt 

這裏就貼出來造福大家

# cmake needs this line
cmake_minimum_required(VERSION 2.8)

# Enable C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(ROOT_DIR /home/leon/test_libdarknet)
# Define project name
project(test_libdarknet)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED) 
find_package(Threads REQUIRED)
 
include_directories( ${OpenCV_INCLUDE_DIRS} )  
# Declare the executable target built from your sources
add_executable(test_libdarknet main.cpp improcess.cpp)

include_directories(${ROOT_DIR})
# Link your application with OpenCV libraries
target_link_libraries(test_libdarknet ${OpenCV_LIBS})
target_link_libraries(test_libdarknet ${ROOT_DIR}/libdarknet.a ${ROOT_DIR}/libdarknet.so)

target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})

這裏貼出我在寫CMakeLists.txt的時候遇到的一些問題

【undefined reference to symbol 'pthread_sigmask@@GLIBC_2.2.5' 解決方法】https://blog.csdn.net/DONGHUIB/article/details/82824011

 

最後貼一張圖,祝大家幸福快樂!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章