1. 前書き
opencvは画像処理を簡単に行うことが出来る非常に便利なライブラリである。またカメラを用いたリアルタイム処理も行える。しかしこれをpythonで使うと実行速度などの面で不自由もある。そこで今回はC++でopencvを使うための環境を整えていく。このような記事は他にも沢山あるが筆者は上手くいかずに嵌ってしまったのでここに残しておく。
pc:
os:windows10
必要なもの
opencv
vscode
minGW
visualstudio
CMake
2. 手順
- opencvをこちらからダウンロードして適当な場所に展開する
- vscode、visualstudioをこちらからインストーラをダウンロードしてそこからインストールする
- minGWをインストーラからダウンロードする
- CMakeをダウンロードする
- VScodeの拡張機能であるCMaketoolsをインストールする
- 環境変数のPATHに以下のパスを通す
C:\opencv\build\x64\vc16\bin
C:\opencv\build\x64\vc16\lib
C:\Program Files\CMake\bin
C:\Program Files\CMake
C:\MinGW\bin
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin
3. CMakeListsの書き方
このままVScodeで
#include <opencv2/opencv.hpp>
このように書いても赤い波線が引かれる。そこでincludeパスに含めることでこれを解決する。
そしたらこのmainファイルと同じ階層にCMakeLists.txtを作成する。その内容は以下のように記述される。
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(プロジェクト名)
# specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# find OpenCV library
find_package(OpenCV REQUIRED)
# include OpenCV directories
include_directories(${OpenCV_INCLUDE_DIRS})
# add your source file
add_executable(プロジェクト名 ファイル名)
# link OpenCV libraries
target_link_libraries(プロジェクト名 ${OpenCV_LIBS})
4. ビルドして実行する
ここまで出来たらターミナルを開いて書きコマンドを実行していく
mkdir build
cd build
cmake ..
msbuild プロジェクト名.vcxproj/p:Configuration = Release
最後に以下のコマンドでプログラムを実行する
cd Release
.\プロジェクト名.exe
5. 最後に
今回はC++でopencvを使えるようにしました。この手順はさまざまなやり方で成功している人がいるのでそのうちの一つとしてみていただけると幸いです。それではまた次回会いましょう。