OpenCVを人にインストールさせるのってやたらめんどうだと思っています。
なぜなら、人によってインストール方法が全く違うからです。
C++なら、ビルドするかaptで取得するとかの違いがあり、バージョンは2・3・4が未だに混在している例が多い。Pythonならもっと手段があって、aptでインストールするのかpipでインストールするのか、condaでインストールするのか、自力ビルドするのか…(そしてPythonはやたら環境が壊れる)
自力でビルドするのが望ましいと思っている人もいれば、初心者の障壁はできるだけ取り除くべきだと考えている人もいると思います。
私は、ROSのパッケージ郡を使っていますが、ROS1やROS2を扱うとほぼ確実にlibopencv-dev
とpython3-opencv
がインストールされます。それらはCPUさえしっかりしていればあまり環境を気にせずに環境構築できるので重宝しています。
私はGitHubでドキュメントを書くたびにOpenCVの扱いに困っていたので、ここで備忘録を兼ねて書こうと思います。C++で度々必要になるCMakeLists.txtについても改めて書きます。
インストール方法
Ubuntu20を前提にしています。ただし、Ubuntu16以降ならおそらくインストール可能です。
バージョンに注意が必要な場合があります。
$ sudo apt install libopencv-dev
$ sudo apt install python3-opencv
アンインストールは、apt purge
か`apt remove
で行います。
C++での使い方
プログラム内では次のようにヘッダーを設定します。VSCodeでエラー波線を消す場合は、インクルードパスに/usr/include/opencv4
を追加します。
#include <opencv2/opencv.hpp>
CMakeLists.txtでは次のように書きます。<>で囲まれている文字列はそれぞれファイル名に置き換えてください。<execute_file_name>が実際に生成され、実行できるファイル名です。
cmake_minimum_required(VERSION 2.8) project(test_cmake CXX) add_executable(<execute_file_name> <c++_source_name>) find_package(OpenCV REQUIRED) if(OpenCV_FOUND) target_include_directories(<execute_file_name> PUBLIC ${OpenCV_INCLUDE_DIRS}) target_link_libraries(<execute_file_name> ${OpenCV_LIBS}) endif()
Python3での使い方
こちらはとても簡単。
$ python3 >> import cv2 >> cv2.__version__ '4.5.2'
ちなみに、OpenCV-OpenVINOの設定などをしている場合は'4.5.2-openvino'
などの表記になります。(以下の記事で環境構築しています。)
参考リポジトリ
特に新しい手法ではないので、この記事の元になった私のリポジトリを貼ります。
OpenCVは機能がとても多いので、特に初学者なら本を1冊は持っておくと良いでしょう。