⛳
[環境構築]64bit。Windowsで、OpenCV+VSCode,C++,CMakeの開発環境を構築してみた。(コンパイラはMSVC)
Abstract
OpenCVを、 Windows,VSCode,C++,CMakeで環境構築してみた。
OpenCVですよ。大切なので2回言いました。
↓↓↓ここがすごい参考になった。あざっす。
前提
- CMake、VisualStudio2022、VSCodeは、インストール済。[環境構築]Windowsで、VSCode,C++,CMakeの開発環境を構築してみた。(コンパイラはMSVC)
- 7-zipもインストールしとく。
手順
1. OpenCVのビルドとインストール
-
プロジェクトフォルダ作成
opencvlibフォルダを作成。$ mkdir opencvlib && cd opencvlib
- opencvとopencv_contribをダウンロード
opencvとopencv_contribをダウンロード$ curl -Lo opencv.zip https://github.com/opencv/opencv/archive/4.x.zip $ curl -Lo opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
- opencv.zip,opencv_contrib.zipを解凍。
buildフォルダを作成。$ mkdir build && cd build
- ビルドする。
ビルド実行$ cmake -G "Visual Studio 17 2022" -A x64 -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules -D BUILD_opencv_world=ON ../opencv-4.x $ "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" .\ALL_BUILD.vcxproj /p:Configuration=Release /p:Platform=x64 $ "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" .\INSTALL.vcxproj /p:Configuration=Release /p:Platform=x64
- 環境変数に設定。(パスは自分のパスで。)
- C:\Products\opencvlib\build\install
- C:\Products\opencvlib\build\install\include
- C:\Products\opencvlib\build\install\x64\vc17\bin
2. プロジェクトフォルダとソース一式を作成
-
プロジェクトフォルダ作成
bbb1stフォルダを作成。mkdir C:\Products\bbb1st && cd C:\Products\bbb1st
- main.cppを作成
main.cppの中身#include <opencv2/opencv.hpp> int main(void) { // 画像の読み込み cv::Mat inputImage = cv::imread("../input.png"); // 画像が正しく読み込まれたかを確認 if (inputImage.empty()) { std::cerr << "画像を読み込めませんでした" << std::endl; return -1; } // 画像の処理を行う ここでは例として、画像をグレースケールに変換する cv::Mat grayscaleImage; // cv::cvtColor(inputImage, grayscaleImage, cv::COLOR_BGR2GRAY); // ↑この関数はリンクエラーになるので、コメントアウト // グレースケール画像を表示 // cv::imshow("Grayscale Image", grayscaleImage); // ↑この関数はリンクエラーになるので、コメントアウト // キー入力待ち cv::waitKey(0); // ウィンドウを閉じる cv::destroyAllWindows(); return 0; }
- CMakeLists.txtを作成
CMakeLists.txtの中身cmake_minimum_required(VERSION 3.5) project(OpenCVExample) # OpenCVのパッケージを見つける find_package(OpenCV REQUIRED) # #OpenCV関係のインクルードディレクトリのパスを設定 # include_directories( ${OpenCV_INCLUDE_DIRS} ) # ソースファイルを指定 set(SOURCES main.cpp) # 実行可能ファイルをビルド add_executable(OpenCVExample ${SOURCES}) message('----------------s') message(${SOURCES}) message(${OpenCV_LIBS}) message('----------------e') # OpenCVをリンク target_link_libraries(OpenCVExample ${OpenCV_LIBS})
3. VSCodeでプロジェクトフォルダを開く
VSCodeの拡張機能C/C++、CMake Toolsを入れてなければ入れておく。
↓
- C/C++: Edit Configurations(JSON)を選択
Ctrl + Shift + P -> "C/C++: Edi"まで入力と出てくる。
↓
c_cpp_properties.jsonが生成される。ついでに右下にビルド/デバッグ/実行ボタンも表示される。
4. インクルードパスを追加
main.cppに戻ると、赤波線でエラーになっている。
↓
手順1でビルドしたパスを設定。
↓
赤波線が消えている。
5. 実行
ブレークポイントを設定して、カブト虫ボタンを押す。
↓
初回のみ下記が表示される。
↓
いろいろ動き出す。
↓
ちょっと待つと、ブレークポイントで止まる。
出来た!!
OpenCVも、CMake+VSCodeでやっとできた。
分かれば、簡単なんだけど、ハマったな~。
Discussion