見出し画像

具体的なC++でのOpenCVの使用: マイアプローチ (1)

OpenCV(オープンソース・コンピュータビジョンライブラリ)は、さまざまなコンピュータビジョンや機械学習のタスクに使用される強力なツールです。私は、C++でOpenCVを利用してプロジェクトを開発しています。この記事シリーズでは、私がどのようにOpenCVを使用しているのかを紹介します。この記事では、特にWindows環境におけるVisual Studio CodeとCMakeを使用したOpenCVのセットアップと基本的な使い方を説明します。

開発環境

  • OS : Windows64

  • IDE : Visual Code

  • 言語 : C++ 

  • パッケージツール : CMake

1. OpenCVのインストール

(1) OpenCVのZipファイルを以下のリンクからダウンロードします。

(2) ダウンロードしたZipファイルを解凍し、任意のフォルダに展開します。例えば、C:\opencvに解凍します。

(3) OpenCVのbinとlibのパス(例:C:\opencv\build\x64\vc16\binC:\opencv\build\x64\vc16\lib)を環境変数Pathに追加します。

これでOpenCVライブラリを使うための準備は完了です。次にプロジェクトを作成します。

2. プロジェクトの作成

(1) プロジェクトのフォルダApplyOpenCVを作成します。

(2) そのフォルダ内にC++のソースコードファイルを格納するためのsrcフォルダを作成します。

(3) CMakeLists.txtファイルを以下のように作成します。

# 最低限必要なCMakeのバージョンを指定
cmake_minimum_required(VERSION 3.20)

# プロジェクト名とバージョン、使用する言語を設定
project(ApplyOpenCV VERSION 0.1.0 LANGUAGES C CXX)

# インクルードディレクトリを指定
include_directories(src)

# テスト機能を有効にするための設定
include(CTest)
enable_testing()

# OpenCVを探して、見つかった場合にインクルードディレクトリを追加
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

# ソースファイルを指定(srcフォルダ内の全ての.cppファイルを対象)
file(GLOB SOURCES "src/*.cpp")

# 実行ファイルを追加(ApplyOpenCVという名前で生成)
add_executable(ApplyOpenCV ${SOURCES})

# 実行ファイルにOpenCVライブラリをリンク
target_link_libraries(ApplyOpenCV ${OpenCV_LIBS})

# プロジェクト名とバージョンを設定(CPack用)
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

(4) Windows PowerShellでプロジェクトフォルダに移動し、code .を入力してVisual Studio Codeで開きます。

code . 

(5) Ctrl+Shift+Pを押して「C/C++: Edit Configurations (UI)」を選びます。.vscodeフォルダが表示され、その中にc_cpp_properties.jsonファイルがあります。そのファイルの"includePath"にOpenCVのインクルードフォルダのパスを追加します。

c_cpp_properties.json

3. ソースコードの作成

(6) srcフォルダーの中にmain.cppファイルを作ります。

#include <iostream>

int main() 
{
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

4. プロジェクトの設定

(7) Ctrl+Shift+Pを押して「CMake: Quick Start」を選択し、「Select a kit for ApplyOpenCV」でVisual Studio Community 2022 Release - amd64コンパイラを選択します。

5. ビルドと実行

(8) main.cppを以下のように修正し、image.jpgという名前の画像をApplyOpenCVフォルダに用意します。

#include <opencv2/opencv.hpp>
#include <iostream>

int main() 
{
    // 画像を読み込む
    cv::Mat image = cv::imread("../../image.jpg");

    // 画像が正しく読み込まれたか確認する
    if (image.empty()) 
   {
        std::cerr << "Error: Could not load image." << std::endl;
        return -1;
    }

    // 画像を800x600にリサイズする
    cv::Mat resized_image;
    cv::resize(image, resized_image, cv::Size(800, 600));

    // リサイズした画像をウィンドウに表示する
    cv::imshow("Display Image", resized_image);

    // 無限にキー入力を待つ
    cv::waitKey(0);

    return 0;
}

(9) Ctrl+Shift+Pを押して「CMake: Build」を選択し、ビルドします。Visual Studio Codeの出力に[build] Build finished with exit code 0と表示されたらビルドが成功したことが分かります。これで、buildフォルダ内にApplyOpenCV.exeファイルとApplyOpenCV.pdbファイルが作成されます。

(10) ビルドが終わったらアプリを実行します。Visual Studio Codeの左下にある再生ボタンを押して実行するか、作成されたApplyOpenCV.exeをダブルクリックして実行します。用意した画像が800x600のサイズで表示されれば成功です。

このように、OpenCVを使ったC++プロジェクトのセットアップと基本的な画像表示プログラムの作成方法について説明しました。

                                                 エンジニアファーストの会社 株式会社CRE-CO
                            su_myat_phyu


参考


いいなと思ったら応援しよう!