0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2でOpenCV(C++)を動かしてみる

Last updated at Posted at 2023-04-26

あくまでこれは個人的な備忘録です。
書いて思ったのですが、別にWSLでなくても普通のubuntuでも使えますね。

環境

  • Windows 11 Pro (22H2)

環境整備

何と言っても環境整備には苦労するもの・・・

WSLのインストール

Windows PowerShellを管理者モードで立ち上げて、下記コマンドを入力

wsl --install

たったこれだけ。
設定したいユーザー名とパスワードを聞かれるので、それを入力してインストール完了。

lsb_release -a

とすると、ubuntuのバージョンを確認できる。
ちなみに、私の環境では下記の出力が得られました。

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy

OpenCVのインストール

C++のコンパイラ・デバッガと、OpenCVのパッケージを丸ごとインストールする。

sudo apt-get update
sudo apt-get install build-essential gdb
sudo apt-get update
sudo apt-get install libopencv-dev

インストールされたOpenCVのバージョンを確認するには、

opencv_version

とする。自分の環境では4.5.4となった。

sudo apt-get install opencv-doc

とすると、テストに使えるデータをインストールできる。

cmakeのインストール

今回はcmakeを使って困憊するするので、cmakeをインストールしておく。

sudo apt install cmake

Visual Studio Codeを使いたいとき

code .

とすることで、WSLからWindowsにインストールされたVisual Studio Codeが使えるようになる。
予め、Visual Studio Codeの拡張機能のWSLをインストールしておく。

サンプルソフトの実装とコンパイル

OpenCVのサンプルソフト

OpenCVで画像を読み込んで表示するまでのサンプルソフトを作成し、main.cppとして保存する。

#include <string>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>

int main(int argc, char* argv[]){

    const std::string window_name("OpenCV Sample");
    cv::Mat img = cv::imread(argv[1]);

    if ( img.empty() ) {
        return -1;
    }

    cv::namedWindow(window_name, cv::WINDOW_AUTOSIZE);
    cv::imshow(window_name, img);
    cv::waitKey(0);
    cv::destroyWindow(window_name);

    return 0;
}

CMakeLists.txtの作成

cmakeを使ってコンパイルできるようにするために、CMakeLists.txtを作成する。

cmake_minimum_required(VERSION 3.16)
project(OpenCVExample)

find_package(OpenCV REQUIRED)

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

コンパイル

mkdir build
cd build
cmake ..
make

とコマンドを打つことでコンパイルできる。

実行

./main "/usr/share/doc/opencv-doc/examples/data/LinuxLogo.jpg"

とすると、Linuxと書かれた画像が表示される。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?