VS2015 https://blog.csdn.net/guxiaonuan/article/details/73775519?locationNum=2&fps=1
OPENCV https://blog.csdn.net/greenhandcgl/article/details/80505701
CUDA https://blog.csdn.net/u013165921/article/details/77891913
CUDA其中有些地方需要修改:
CUDA_SDK_PATH C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2
CUDA_BIN_PATH %CUDA_PATH%\bin
CUDA_LIB_PATH %CUDA_PATH%\lib\x64
CUDA_SDK_BIN_PATH %CUDA_SDK_PATH%\bin
CUDA_SDK_LIB_PATH %CUDA_SDK_PATH%\lib\x64
判斷是Debug編譯, 還是Release編譯。
判斷是32位, 還是64位。
- #include "json/json.h"
- #ifdef _DEBUG
- #ifndef _WIN64
- #pragma comment(lib,"json/json_mtd.lib")
- #else
- #pragma comment(lib,"json/json_mtd_x64.lib")
- #endif
- #else
- #ifndef _WIN64
- #pragma comment(lib,"json/json_mt.lib")
- #else
- #pragma comment(lib,"json/json_mt_x64.lib")
- #endif
- #endif
- using namespace Json;
DEBUG 與 RELEASE的區別:
Debug選項稱為調試版本,顧名思義這個選項是調試的時候使用的。這個選項的配置中,所有代碼生成的優化都是關閉的,於是我們觸發斷點后可以通過即時/局部變量窗口來觀察對應的變量。
Release選項稱為發布版本,這個選項的配置使得編譯器可以對我們的代碼進行低等級的,復雜的優化。優化后代碼可能會”面目全非“,導致單步調試變得不可行,我們也無法在變量窗口中看到變量,因為我們要觀察的變量可能被優化了。並且發布版本不會生成.PDB文件(.PDB文件讓調試器能知匯編指令與代碼行數之間的對應關系)
編譯流程: https://blog.csdn.net/shadandeajian/article/details/80913481
更完整的流程: https://blog.csdn.net/sinat_35907936/article/details/82017127
預訓練權重下載: https://pjreddie.com/darknet/yolo/
編譯好后, 進入exe目錄, darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg
修改並打開工程文件: darknet.vcxproj
VC++ 目錄:
包含目錄: D:\library\opencv\build\include;D:\library\opencv\build\include\opencv;D:\library\opencv\build\include\opencv2;$(CUDA_PATH)\include;$(IncludePath)
庫目錄: D:\library\opencv\build\x64\vc14\lib;$(CUDA_PATH)\lib\x64;$(LibraryPath)
鏈接器:
附加庫目錄: D:\library\opencv\build\x64\vc14\lib;%(AdditionalLibraryDirectories)
輸入: 附加依賴項: opencv_world340d.lib cublas.lib cuda.lib cudadevrt.lib
--------------------------------------------訓練模型-------------------------------------------------
# 構建自定義的數據集:
darknet.exe detector train mydata/my.data mydata/yolov3.cfg yolov3.weights
1. 使用voc_label.py 生成 VOCdevkit//VOC2007//labels// 與 2007_train.txt 等文件。
2. 將圖片jpg與標簽txt放置在一個文件夾。
darknet.exe detector test mydata/my.data mydata/yolov3.cfg backup/yolov3_final.weights -i 0 -thresh 0.25 data/iom/VOCdevkit/VOC2007/JPEGImages/1.jpg
停留在控制台: 項目——屬性——配置屬性——鏈接器——系統, 找到子系統選項,其下拉菜單,選擇控制台。
darknet.c main -> main_
測試已有視屏:
./darknet detector demo cfg/voc.data cfg/yolo-voc.cfg final_voc.weights your_video_path.mp4
測試時會直接彈出一個窗口播放視屏,可以看是實時檢測視屏的效果。
測試攝像頭實時檢測場景:
./darknet detector demo cfg/voc.data cfg/yolo-voc.cfg final_voc.weights
和測試已有視屏類似,運行該命令后,會調用攝像頭,彈出一個窗口顯示攝像頭拍攝實時場景,並做實時檢測。
預測測試集:
./darknet detector valid cfg/voc.data cfg/yolo-voc.cfg final_voc.weights
統計測試集合測試效果:
./darknet detector recall cfg/voc.data cfg/yolo-voc.cfg final_voc.weights
使用Zbar掃描二維碼:
1. Zbar官網提供的windows版 只支持32位, 因此64位的機器可以去github下載國外大牛寫的64位的Zbar: https://github.com/lineCode/ZBarWin64-1
2. 下載好后在VS中配置, VC++目錄 -> 包含目錄: Zbar的include, 庫目錄: lib目錄, 鏈接器 -> 輸入: libzbar64-0.lib, 配置好后, 新建項目, 將Zbar64中的 libconv目錄下的 .lib .dll 復制到自己項目的.exe下;
3. 關於項目的更詳細文章, https://blog.csdn.net/zt_xcyk/article/details/78006223 https://blog.csdn.net/zhdnuli/article/details/50427717
--------------------------------linux跨平台-----------------------------------------------
windows項目開發好后需要移植到linux平台: Visual Studio 2015+VisualGDB5.3
https://blog.csdn.net/RichardWQJ/article/details/79872178
https://www.cnblogs.com/hbccdf/p/use_vs_and_visualgdb_develope_linux_app.html
linxu安裝: http://www.cnblogs.com/yaohong/p/7240387.html
改成橋接問題: https://blog.csdn.net/juliarjuliar/article/details/79455284
注意在配置網關時, 應與主機網關一致, 否則無法連接到外網
vi /etc/hosts
192.168.10.112 pc1. ..
安裝cmake:
下載 wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
安裝cmake cd cmake-3.3.2
./bootstrap
gmake
make install
安裝gcc支持環境
yum -y install gcc
yum -y install gcc-c++
yum -y install gcc gcc-c++ kernel-devel
yum -y install gcc-gfortran
yum -y install subversion
yum -y install gtk*
pkg-config --version
yum -y install libpng-devel
yum -y install zlib-devel
yum -y install libjpeg-devel
yum -y install libtiff-devel
yum -y install libjasper-devel
yum -y install swig
sudo yum -y install libpng-devel libjpeg-turbo-devel jasper-devel openexr-devel libtiff-devel libwebp-devel libdc1394-devel libv4l-devel gstreamer-plugins-base-devel gtk2-devel tbb-devel eigen3-devel gstreamer1-libav gstreamer1-plugins-base-devel java-1.8.0-openjdk-devel python2-numpy ffmpeg-devel ffmpeg-libs.i686 ffmpeg libavdevice.i686 libpng-devel libjpeg-turbo-devel jasper-devel openexr-devel libtiff-devel libwebp-devel libdc1394-devel libv4l-devel gstreamer-plugins-base-devel gtk2-devel tbb-devel eigen3-devel gstreamer1-libav gstreamer1-plugins-base-devel gtk+extra-devel gtk+-devel.i686 cmake pkg-config libgtk libavcodec libavformat libswscale swig
cd opencv目錄
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX= /usr/local -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/python2.7/config/libpython2.7.so ..
cmake之后, 發現大量錯誤
安裝python 3.5 https://www.linuxidc.com/Linux/2016-04/129784.htm
安裝python 3.5后, 解決yum無法使用的辦法 https://blog.csdn.net/degrade/article/details/52814296
安裝 ccache https://blog.csdn.net/hanlizhong85/article/details/71038515
升級g++版本 http://blog.sina.com.cn/s/blog_64b11b380101f2yb.html
使用c++11編譯
g++ -std=c++11 -o test test.cpp
安裝numpy yum -y install numpy 如果因為python版本而出現錯誤 改成#! /usr/bin/python2.7
yum安裝還是不行 http://jaist.dl.sourceforge.net/project/numpy/NumPy/1.11.1/ cd 進該目錄 python setup.py install 重啟
cmake .. 時有些檢查Test通不過, 有可能是opencv沒刪干凈; make unistall find / -name "*opencv*" -exec rm -i {} \; find / -name "*cv2.so*" -exec rm -i {} \;
sudo make
sudo make install
經過反復蛋疼的重裝, 勸各位還是用ubantu吧, 別用centos了.
linux 安裝opencv https://blog.csdn.net/qq_36449541/article/details/78999581
卸載: https://blog.csdn.net/xulingqiang/article/details/52496701
g++ test.cpp && ./a.out 結果打印到控制台
https://pjreddie.com/darknet/yolo/