C++で画像処理を行うためのOpenCV入門 Part 1(in WSL2)

画像処理

はじめに

業務で画像処理を行う機会があり、入門を兼ねて記事を書いてみることにしました。
今回はWSL2上でC++を使用してOpenCVをインストールし、画像を表示するところまで紹介します。

環境構築

WSL2のセットアップ

まずはWSL2にOpenCVをインストールします。

sudo apt update
sudo apt install libopencv-dev

プロジェクトディレクトリの作成

使用するディレクトリを作成します。

mkdir my_opencv_project
cd my_opencv_project

git管理しておいたほうがトライアンドエラーしやすいので、gitリポジトリを初期化しておきます。

git init

NOTE: .gitignoreファイルを作成して、ビルド成果物を無視するように設定しておくと便利です。

echo "build/" >> .gitignore

C++プロジェクトの作成

次に、C++プロジェクトを作成します。以下のようなディレクトリ構成を作成します。

my_opencv_project/
├── images/
│   └── meter.jpg # 画像ファイルをここに配置. 今回はメーターの画像を使用
└── src/
    ├── CMakeLists.txt
    └── main.cpp

CMakeLists.txtの作成

CMakeLists.txtファイルを作成し、以下の内容を記述します。

cmake_minimum_required(VERSION 3.10)
project(OpenCVExample)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(main src/main.cpp)
target_link_libraries(main ${OpenCV_LIBS})

main.cppの作成

main.cppファイルを作成し、以下の内容を記述します。

#include <opencv2/opencv.hpp>

int main()
{
    // meter.jpgをimgに代入
    cv::Mat img = cv::imread("images/meter.jpg");

    // imgの表示
    cv::imshow("img", img);

    // キーが押されるまで待機
    cv::waitKey(0);

    return 0;
}

ビルドと実行

CMakeを使用してプロジェクトをビルドします。

mkdir build
cd build
cmake ../src
make

ビルドが成功したら、実行ファイルを実行して画像が表示されることを確認します。

./main

git コミット

コードが動作することを確認したら、gitでコミットしておきましょう。

git add .
git commit -m "C++でOpenCVを使用して画像を表示するコードを追加"

まとめ

WSL2上でC++プロジェクトを構築し、OpenCVを使用して画像を表示する方法を紹介しました。
次の記事ではグレースケール変換やエッジ検出、2値化などの画像処理技術について扱います。

コメント

タイトルとURLをコピーしました