1. 安裝
下載OpenCV的安裝包,OpenCV官網下載地址
在這里我下載OpenCV4.0的安裝包,下載Sources包並解壓, 在解壓的文件夾里新建一個文件夾用來編譯OpenCV:
unzip opencv-4.0.1.zip
cd opencv-4.0.1
mkdir build
cd build
然后在新建的這個文件里運行cmake(OpenCV4默認不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才會生成。):
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
編譯安裝:
make -j8
sudo make install
2. 配置
在/etc/ld.so.conf.d/文件夾下新建一個opencv4.conf,里面寫入/usr/local/lib
cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'
更新pkg-config:
sudo ldconfig
復制pc文件,要不然測試提示錯誤:you should add the directory containing `opencv.pc' :
sudo cp -f /usr/local/lib64/pkgconfig/opencv4.pc /usr/lib/pkgconfig/
添加環境變量是不用的, 這個是用來在編譯時候指定Opencv版本用, 有的教程里有這部分,沒必要:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
export PKG_CONFIG_PATH
測試:
pkg-config --libs opencv4
pkg-config --cflags opencv4
pkg-config --modversion opencv4 # 查看版本號
3. 卸載
OpenCV的卸載
刪掉opencv4.conf文件,然后在編譯的文件夾(我的是release)下運行sudo make uinstall
更新時間: 2019/5/9 09:51
以上是Linux通用的編譯方法, 但是對Arch系Linux不需要這么麻煩, 直接用源上編譯好的即可:
sudo pacman -S opencv
也可以用圖形化的工具,最好把可選依賴也裝上, 如圖:
這樣我的系統除了自己編譯的3.4.6版本, 還有一個系統滾動跟新的最新版opencv
如果使用的是編譯版本, 只需要指定opencv編譯位置PATH_TO_BUILD : set(OpenCV_DIR PATH_TO_BUILD)
,我的CMakeLists.txt是:
cmake結果為:
如果使用Arch社區倉庫的OPencv4, 可以顯式指定opencv版本find_package(OpenCV 4 REQUIRED )
.
參考自: