ubuntuインストールopencv+マルチバージョン切り替え+opencv_contribモジュールのインストール

2913 ワード

筆者のシステムはubuntu 14で、以前はopencv 3.1.0がインストールされていたが、ROSをインストールする際にros-indigo-destop-fullがバージョン2.4.8のopencvをインストールした.ROSの中のいくつかのファイルはこのバージョンのopencv、例えばcv_に依存する必要があるからだ.bridgeとimage_pipeline.しかし、私が調べたシステムはopencvのバージョンがopencv 3.1.0で、その後仕方なくopencv 3.1.0を取り外しました.Opencvバージョンの表示には、次のコマンドを使用します.
pkg-config --modversion opencv

現在、opencv 3.1.0をインストールし、2.4.8と3.1.0の自由切り替えのニーズを満たしたいと考えています.
まずopencvダウンロードアドレスを与えます.
ダウンロードが完了したら、解凍して、端末に依存項目をインストールします.
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev

次に、解凍したファイルの下にbuildファイルを新規作成し、このディレクトリの下に入ります.コマンド:
mkdir build
cd build

/usr/localの下にフォルダopencv 310を新規作成します.このフォルダはopencvのインストールディレクトリであり、cmakeはmakeファイルを生成してインストールします.
mkdir -r /usr/local/opencv310 
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv310 .. 
make install 

すべてが正常であれば、この時のopencv 310バージョンでいいです.しかしopencvバージョンをコマンドで表示すると、この時点のバージョンは2.4.8です.
バージョン切り替え:
次にファイルを構成し、bashrcファイルを変更してPKG_を設定する必要があります.CONFIG_PATHとLD_LIBRARY_PATH.bashrcファイルコマンドを開くには、次の手順に従います.
gedit ~/.bashrc

Opencv 2のバージョンが以前にインストールされていたので、~/.bashrcに追加する必要があります
export PKG_CONFIG_PATH=/usr/local/opencv310/lib/pkgconfig  
export LD_LIBRARY_PATH=/usr/local/opencv310/lib 

保存後、コマンドを使用します.
source ~/.bashrc 

ここで,このときのバージョンは3.1.0であることが分かる.
Opencv 3.1.0を使用する場合は、CMakeLists.txtにパスを追加するだけで使用できます.
set(OpenCV_DIR "/usr/local/opencv310/share/OpenCV")
find_package( OpenCV 3.1 REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} "/usr/local/opencv310/include")

元のopencv-2.4.8も使いたいなら、PKGを再修正するだけです.CONFIG_PATHはopencv-2.4.8のpkgconfigパスでよい.
export PKG_CONFIG_PATH=/usr/lib/pkgconfig  
export LD_LIBRARY_PATH=/usr/local/lib 

この時点のバージョンは2.4.8であることがわかります.
CMakeLists.txtでfind_Package(OpenCV 3.1 REQUIRD)をfind_に変更Package(OpenCV REQUIRD)でいいです.このコードの上の行と下の2つの行を削除すればいいです.
find_package(OpenCV  REQUIRED)
include_directories( ${OpenCV_INCLUDE_DIRS} )

opencv_contribモジュールのインストール:
公式によると、まだ安定していないアルゴリズムモジュールはopencvにあるという.contribでは、不安定なのでreleaseバージョンでは発行できませんが、安定してからreleaseに入れます.しかし、SIFT、SURFなど、私たちがよく使うアルゴリズムはたくさんあります(xfeatures 2 dモジュールの中にあります).公式サイトではopencvをcontrib拡張モジュールをインストール済みopencv 3.0.0に追加コンパイルし、インストール時に直接拡張モジュールをコンパイルしてインストールすることもできます.
まずopencv_を提供しますcontribダウンロードアドレス
解凍してopencvソースファイルの下にファイルを置きます.次に、opencvをインストールする前にソースファイルの下にあるbuildに入ります.
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv310 -D OPENCV_EXTRA_MODULES_PATH= ..

OPENCV_EXTRA_MODULES_PATHこの経路はあなたが解凍したopencvです.contribのパス.
最後に、make+make installでいいです.