在TX2板子上安裝opencv有兩種方式,一種是你使用cmake直接在TX2上編譯源碼,第二種是使用你已編譯好的opencv在TX2上進行配置,第二種方式需要注意你編譯的版本也是在ARM平臺編譯的才能生效。
第一種方式可見我之前的博文《Linux下使用cmake編譯opencv庫》。本文主要介紹第二種方式,編譯opencv比較耗時,有時候直接使用已編譯好的版本進行配置省很多時間。
注:本文的配置方式是按照TX2默認opencv的安裝路徑進行配置的。
1. 打開終端,輸入以下命令可查看opencv現有的版本:
pkg-config --modversion opencv
2. 卸載當前版本,這一步很關鍵,要把之前安裝或配置的版本卸載乾淨。
//第一步,刪除頭文件,有兩個地方
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv
sudo rm -r /usr/include/opencv /usr/include/opencv2
//第二步,刪除.so文件
sudo rm -r /usr/local/lib/libopencv
//第三步,刪可執行文件
sudo rm -r /usr/local/bin/opencv*
//第四部,刪pkgconfig文件夾
sudo rm -r /usr/local/lib/pkgconfig
3. 配置新版本
對於4.x以下的版本,編譯完後由如下文件:
(1)頭文件與.so文件拷貝
- 將新版本的opencv的所有.so庫和pkgconfig文件夾拷貝至/usr/local/lib目錄下;
- 將頭文件文件夾opencv與opencv2文件夾拷貝至/usr/include文件夾下;
- 再將opencv與opencv2文件夾拷貝至/usr/local/include文件夾下;
(2) 設置bash.bashrc文件,打開終端輸入以下命令:
sudo gedit /etc/bash.bashrc
在打開的文件末尾添加pkgconfig文件夾的路徑,命令格式如下:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
(3)輸入以下命令,使之立即生效;
source /etc/bash.bashrc
注:如果你的新版本不是安照默認的路徑編譯的,那麼pkgconfig下的opencv.pc文件需改成以下形式:
# Package Information for pkg-config
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir_old=${prefix}/include/opencv
includedir_new=${prefix}/include
Name: OpenCV
Description: Open Source Computer Vision Library
Version: 3.4.4
Libs: -L${exec_prefix}/lib -lopencv_ml -lopencv_superres -lopencv_videostab -lopencv_photo -lopencv_stitching -lopencv_dnn -lopencv_shape -lopencv_video -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_flann -lopencv_core
Libs.private: -ldl -lm -lpthread -lrt
Cflags: -I${includedir_old} -I${includedir_new}
說明:prefix定義了一個路徑變量,exec_prefix爲可執行文件路徑,libdir爲庫文件路徑,includedir_old以及includedir_new爲頭文件路徑。
4.驗證:
打開終端,輸入以下命令(同第1步):
pkg-config --modversion opencv
即可查看你是否成功配置了opencv。
本人初探jetson TX2板子,如有錯誤之處敬請諒解並予以指正。