メインコンテンツまでスキップ
バージョン: v24.05

OpenCVのアップデート

Sensing-Dev SDKはOpenCVライブラリを提供していますが、特定のバージョンのOpenCVを使用したい場合や、ご自身で事前にインストールしているものを使用したい場合があります。

しかし、Sensing-Devのインストーラースクリプトを使用せずにインストールしたOpenCVは、環境変数の未設定などが原因でアプリケーションやチュートリアルコードから見つけられない場合があります。

このドキュメントでは、OpenCVを更新し、環境変数を設定するためのヒントを提供します。

1 現在のSensing-Devをアンインストールする

既にOpenCVと共にSensing-Devをインストールしている場合、バージョンの競合を避けるために、まずSensing-Devをアンインストールし、OpenCVオプションを指定せずに再インストールすることをお勧めします。まだSensing-Devをインストールしていない場合は、手順1.2のみを実行してOpenCVなしでSensing-Devをインストールしてください。

Windowsユーザー

1.1. ディレクトリ C:\Users\<username>\AppData\Local\sensing-dev\ を削除します。

1.2. Reinstall Sensing-Dev following the instruction in the Windowsセットアップガイド. の指示に従ってSensing-Devを再インストールします。この際、-versionオプションでSDKのバージョンを指定することと、-InstallOpenCVオプションを追加しないことに注意してください。

1.3. システムプロパティから以下の環境変数を削除します。

環境変数名
PATHC:\Users\<username>\AppData\Local\sensing-dev\opencv\build\x64\vc15\bin

Linuxユーザー

1.1 ディレクトリ /opt/sensing-dev/ を削除します。

1.2. Install Sensing-Dev again with the instruction of Linuxセットアップガイドの指示に従ってSensing-Devを再インストールします。この際、--versionオプションでSDKのバージョンを指定することと、、--install-opencvオプションを追加しないことに注意してください。

2 OpenCVを再インストールする

既にOpenCVを自分でインストールしている場合は、この項目をスキップできます。

Windowsユーザー

2.1. OpenCV公式サイトにアクセスし、希望するバージョンをダウンロードします。MSVC 17.10以降のユーザーは、OpenCV 4.10.0以上を使用する必要があります。

2.2. OpenCVを任意の場所にインストールしますが、チュートリアルコードがOpenCVを見つけやすくするために C:\Users\<username>\AppData\Local\sensing-dev にインストールすることをお勧めします。このガイドでは、インストールディレクトリを %OpenCV_ROOT% と表記します。

Linuxユーザー

OpenCVの公式サイトの指示に従ってOpenCVをビルドします。複数のバージョンのOpenCVがマシンに存在する場合、競合や上書きを避けるために CMAKE_INSTALL_PREFIX を設定することをお勧めします。

3 環境変数とコンパイルオプションを設定する

Windowsユーザー

3.1. OpenCVを使用するユーザーアプリケーションやチュートリアルのために、システムが動的リンクライブラリ(opencv_world<version>.dll)を見つける必要があります。そのため、以下の絶対パスを PATH 環境変数に追加します。システムに複数のOpenCVが存在する場合、PATH の優先順位と順序を正しく設定してください。

環境変数名例) OpenCV 4.10.0; C drive
PATH%OpenCV_ROOT%\build\x64\vc<compiler version>\binC:\opencv\build\x64\vc16\bin

3.2. さらに、アプリケーションやチュートリアルコードがOpenCVを必要とする場合、新しいOpenCVでプログラムをコンパイルしてビルドする必要があります。これはコンパイラやコンパイル方法によって異なりますが、ここではチュートリアルに合わせてcmakeコンパイルのヒントを示します。チュートリアルでは、以下のcmakeファイルで -DOpenCV_DIR %OpenCV_ROOT%\build オプションを使用してcmakeを使用します。

# CMakeLists.txt

...

# if OpenCV is installed under sensing-dev directory, cmake file can find OpenCV
if(NOT OpenCV_DIR)
set(OpenCV_DIR $ENV{SENSING_DEV_ROOT}/opencv/build)
endif()

# otherwise, cmake will look for OpenCV under ${OpenCV_DIR}
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})

# if you are using OpenCV headers, include directory by yourself
include_directories( ${OpenCV_INCLUDE_DIRS} )

# if you are using OpenCV static library, set it by yourself
target_link_libraries(${TUTORIAL_NAME} PRIVATE ${OpenCV_LIBS})

Linuxユーザー

3.1. アプリケーションやチュートリアルコードがOpenCVを必要とする場合、新しいOpenCVでプログラムをコンパイルしてビルドする必要があります。これはコンパイラやコンパイル方法によって異なりますが、以下の環境変数の設定が求められる場合があります。

  • PKG_CONFIG_PATH
  • LD_LIBRARY_PATH

3.2. また、ライブラリやヘッダーのリンクオプションを設定することを忘れないでください。以下の例では、デフォルトのインストール場所 /usr/local/ を使用しています。

# example with gcc
g++ -I /usr/local/include/opencv4 \
-L /usr/local/lib
...