OpenCVのLinuxへのインストールと使用

3404 ワード

1.事前インストール依存
下記のコマンドでフルインストールすることを推奨します.実際には、インストール中にインストール済みの依存をスキップします.
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-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

依存パッケージには、gcc、cmakeのようないくつかのソフトウェアが含まれています.いくつかはOpencvをダウンロードするために必要なツールで、Gitのようです.ffmpegやlibavのようにopencvをコンパイルするために必要なものもあります.オプションのバッグなどもあります.これらの依存パッケージは、次のコマンドでインストールできます.
2.ソースパッケージのダウンロード
ダウンロード先:https://github.com/opencv/opencv/releasesダウンロード後/homeディレクトリに解凍し、解凍後のファイル名はopencv-3.3である.1.
3.インストール開始
以下のコマンドに従って、インストールプロセスを順次実行します.
  • 予備フェーズ
  • cd ~/opencv-3.3.1
    mkdir build	 #            
    cd build
    
  • 構成
  • #  ,           ,       
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    

    上のCMAKE_BUILD_TYPE=RELEASEコンパイルされたバージョンがRelease版であることを示し、CMAKE_INSTALL_PREFIX=/usr/localコンパイルされた実行可能プログラムの格納ディレクトリを示します.
  • コンパイル&&インストール
  • make -j7     #      make  
    sudo make install
    

    上のコードの-j 7は7スレッドを同時にコンパイルし、自分のCPUの特徴に応じてこのパラメータを調整し、自分のCPUを理解していない場合はmakeを直接実行すればよい.
  • インストール情報を表示
  • pkg-config --modversion opencv	#      
    

    4.検証プログラム
    mainを作成します.cppファイル、次のコードを追加します.
    #include 
    #include 
     
    using namespace std;
    using namespace cv;
     
    int main()
    {
        Mat srcImage = imread("lena.jpg");
        imshow("   ",srcImage);
     
        waitKey(0);
     
        return 0;
    }
    

    プログラムで使用されるコンパイルコマンド:
    g++ -o main main.cpp `pkg-config opencv --cflags --libs`
    

    上記のコンパイルコマンドでは、
    –cflags:コンパイル時にプログラムに必要なヘッダファイルを指定するディレクトリ–libs:プログラムがリンクするときに必要なダイナミックリンクライブラリを指定するディレクトリ
    上記のコンパイルコマンドでは、主に以下の機能を持つツール「pkg-config」を実用化しました.ライブラリのバージョン番号を確認します.必要なライブラリのバージョンが要求を満たしていない場合は、エラーバージョンのライブラリファイルをリンクしないようにエラーメッセージが印刷されます.2.マクロ定義、ヘッダファイルの場所などのコンパイル前処理パラメータを取得します.3.ライブラリおよび依存する他のライブラリの場所、ファイル名、およびその他の接続パラメータなどのリンクパラメータを取得します.注意:使用する前に、インストールしたOpenCVのインストールリンクライブラリファイルのディレクトリの下にpkgconfigフォルダがあり、そのフォルダの中にopencvがあることを確認してください.PCのファイルですが、実はこれがpkg-configでOpenCVを開くプロファイルです.
    最後:
    ./main	#    
    

    次のエラーメッセージが表示されます.
    ./main: error while loading shared libraries: libopencv_highgui.so.3.3: cannot open shared object file: No such file or directory
    ここには2つのソリューションがあります.1.まず/etc/ld.so.conf.d/でファイルopencvを作成します.confは、opencvのライブラリディレクトリ/usr/local/libを追加し、最後に有効にします.使用可能なコマンドは次のとおりです(永続的に有効).
    sudo vi /etc/ld.so.conf.d/opencv.conf		#      ,      /etc/ld.so.conf    
    sudo ldconfig								#     
    

    opencv.confファイルのすべての内容:
    #opencvのライブラリパス/usr/local/lib
    2.次のコマンドを実行して、ライブラリファイルの保存場所(再起動後に失効)をプログラムに指定してください.
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    

    その後、再コンパイル、実行すれば成功します.
    5.OpenCVをアンインストールしたい場合
    make uninstall
    cd ..
    sudo rm -r build
    sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
    

    6.参考内容
    1.OpenCV構成——LinuxでOpenCV 2を使用する.Ubuntu 16.04 opencvをインストールする様々な方法