Ubuntu での opencv4.8.0 (拡張ライブラリを含む) のコンパイルとインストール

まず、私のコンピュータの情報を見せてください。

 zhaocake@zhaocake-BoDE-WXX9  ~  uname -a
Linux zhaocake-BoDE-WXX9 5.19.0-46-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 21 15:35:31 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

ソースコードをダウンロードする 

opencv-4.8.0.zip:  https://codeload.github.com/opencv/opencv/zip/refs/tags/4.8.0

opencv-contrib-4.8.0.zip:  https://codeload.github.com/opencv/opencv_contrib/zip/refs/tags/4.8.0

 依存関係や cmake ツールなどをインストールします。

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

後で、拡張ライブラリをインストールするときに一部の依存関係がインストールされていないことがわかりました。

sudo apt-get install libgtk-3-dev
sudo apt-get -y install libgstreamer-plugins-base1.0-dev
sudo apt-get -y install libgstreamer1.0-dev

 どのような依存関係が欠落しているかについては、cmake の出力を読むことができます。cmake コマンドは後でリストされます。

解凍してコンパイルの準備が整いました

ダウンロードしたソース コードを解凍し、contrib ソース コード フォルダーを opencv フォルダーに移動します。

 この opencv-4.8.0 フォルダーの下に、コンパイルするフォルダーを入力します。

mkdir build && cd build

注: opencv の他の言語インターフェイスをインストールしたくない場合は、次のコマンドを自分で参照できます。(目的を達成するために CMakeList.txt ファイルを変更することもできます)

コンパイル タイプを指定し、コンパイルされたライブラリを/ usr/local/にインストールします。

sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.8.0/modules -D BUILD_JAVA=OFF -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF CMAKE_INSTALL_PREFIX=/usr/local ..

このとき、多くの情報が出力され、makeが生成されます。

コンパイル

sudo make -j8

sudo make はシングルスレッドです。高速化するスレッドの数を指定するには、-j を使用します。一般的に、スレッド数は CPU コア数の 2 倍と見なすことができます。

しばらくお待ちください。待機時間はスレッドの数と CPU のパフォーマンスに関係します。

/usr/local にインストールする

sudo make install

 すると、ライブラリがターゲットディレクトリにインストールされたことがわかります。

構成インポートパス

sudo gedit /etc/ld.so.conf

開いたファイルの後に/usr/local/libを追加し、次のコマンドで更新された構成をロードします。

sudo ldconfig

構成環境

rcファイルを変更します。私は zsh のシェルなので、.zshrc です。

ほとんどの場合:

vim ~/.bashrc

ファイルの最後に追加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

 コマンドを使用して、opencv のインストールを表示します。

pkg-config opencv --modversion

以下のような状況が発生します。 

 解決するには:

cd /usr/local/lib
sudo mkdir pkgconfig # 如果已经存在则不需要再创建
cd pkgconfig
sudo vim opencv.pc

次の情報を書き込みます。

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
 
Name: opencv
Description: The opencv library
Version:4.8.0
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core
~                                               

~/.bashrc を再度変更し、以下を追加します。

export  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

注: rc ファイルを更新することを忘れないでください。

最終確認

ディレクトリ内で、ディレクトリopencv/samples/cpp/example_cmakeをコンパイルします。

次のコマンドを実行して確認します。 

cmake .
make
./opencv_example

 クリオンの場合:

 エラーは報告されません。ただし、現時点では opencv2/opencv.hpp を直接インポートすることはできないため、ソフト リンクを追加する必要もあります。

sudo ln -s /usr/local/include/opencv4/opencv2 /usr/include

扱いを誤ってエラーが発生した場合は、他の記事を参照してこのソフト リンクを削除し、独自のディレクトリにリンクすることができます。

Linux でソフト リンクをキャンセルする方法_ln ソフト リンクをキャンセルする_dufufd のブログ-CSDN ブログ

添付ファイル: contrib のインストールが成功したことを確認してください

もちろん、インストールが実行されているかどうかに基づいてインストールが成功したかどうかを判断するコードを作成することもできます。

 

おすすめ

転載: blog.csdn.net/raw_inputhello/article/details/131513355
おすすめ