徹底解除安裝原來版本的方法:
ubuntu版本16.04,opencv版本3.4.6,帶cuda原始碼安裝
參考:a)git clone
cd opencv
b)git checkout 33b765d7979fd8a6038026aa44f6ff1a9c082b7b
git checkout -b 3.4.6
2)檢查環境
檢視gcc版本:which gcc,gcc -v 我的是5.4.0
檢視cmake版本:cmake --version 我的是3.9.1
檢視是否安裝git:git --version
3)安裝環境
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config lib**codec-dev lib**format-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
4)原始碼編譯
a)準備
mkdir build
cd build
cmake-gui ..
(安裝cmake-gui,sudo apt-get install cmake-qt-gui)
b)選擇源檔案目錄,和輸出檔案目錄
c)配置 configure
配置cmake_build_type 值為release,
根據自己的情況,配置cmake_install_prefix和opencv_extra_modules_path(opencv_contrib的路徑),
勾選with_cuda,
d)生成 generate
點選generate生成配置檔案。
e)執行
在build目錄下,執行:
make
sudo make install
參考:5)環境變數配置
a)sudo gedit /etc/ld.so.conf.d/opencv.conf
將以下內容新增到最後:/usr/local/lib
sudo ldconfig
b)sudo gedit /etc/bash.bashrc
新增:pkg_config_path=$pkg_config_path:/usr/local/lib/pkgconfig
export pkg_config_path
執行source /etc/bash.bashrc
c)重啟
6)測試
1)如果出現以下錯誤,則將pkg-config opencv --modversion
pkg-config --cflags --libs opencv測試**:
#if cuda_version >= 9000#include #else#include #endif改為
如缺少nvcuvid.h
將其中的 nvcuvid.h, cuviddec.h copy 到/usr/local/cuda-10.0/include/
2)若出現以下問題,則將functional.hpp:50處的 #include "device_functions.h"改為 #include "cuda_runtime.h"
編譯和安裝
make -j12
sudo make install
修改環境變數
vim ~/.bashrc
新增如下內容,並source ~/.bashrc使馬上生效
export pkg_config_path="/usr/local/opencv3.4.6/lib/pkgconfig"
export ld_library_path="$ld_library_path:/usr/local/opencv3.4.6/lib"
檢視opencv版本
pkg-config --modversion opencv
檢視opencv安裝庫和包含路徑
pkg-config --cflags --libs opencv
ps:重點是配置環境變數
AbstractCollection原始碼分析
abstractcollection抽象類提供了collection的骨架實現,collection分析請看 這裡直接看它的 是如何實現的.public abstract iterator iterator 該方法沒有實現.public abstract int size 該方法沒有實現.publi...
ThreadPoolExecutor原始碼閱讀
執行緒池解決兩個問題 一是復用執行緒,減少建立銷毀執行緒帶來系統開銷 二是限定系統資源使用邊界,避免大量執行緒消耗盡系統記憶體 適用於互不依賴,執行時間短,不需要對執行緒控制操作的執行緒 新增任務時,1.若執行緒數量小於corepoolsize,則新增執行緒執行任務 2.若執行緒數量大於等於core...
OrangePi One Android 原始碼編譯
一 系統環境搭建參照 二 lichee原始碼編譯 1.檢視help build.sh h2.配置核心 cd linux 3.4 make arch arm menuconfig 進入配置頁面,上下移動列表,空格是選擇列表,左右移動選擇退出選項 3.首次編譯執行清除 在 lichee linux3.4...