MinGW(Msys2)でインストールしたg++でopencvを扱う環境構築

コンピュータ

ターミナルとしてMinGW64を起動

mingw64.exe

OpenCVパッケージ追加

pacman -S mingw-w64-x86_64-opencv

サンプルソースコード

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

int main()
{
    // 読み込み元ファイル
    std::string input = "input.jpg";

    // 画像読み込み
    cv::Mat img = cv::imread(input, cv::IMREAD_COLOR);

    // 読み込めなかった場合
    if (img.empty()) {
        std::cerr << "Failed to load image: " << input << std::endl;
        return -1;
    }

    // 出力ファイル名
    std::string output = "output.jpg";

    // 書き出し
    if (!cv::imwrite(output, img)) {
        std::cerr << "Failed to save image: " << output << std::endl;
        return -1;
    }

    return 0;
}

コードの内容としてはinput.jpgを読み込んでoutput.jpgで保存するだけのコード

pwsh.exeでコンパイル

g++ main.cpp `
 -IC:\Users\karet\scoop\apps\msys2\current\mingw64\include\opencv4 `
 -LC:\Users\karet\scoop\apps\msys2\current\mingw64\lib `
 -lopencv_core -lopencv_imgcodecs -lopencv_highgui `
 -o opcv.exe

“input.jpg”がカレントディレクトリに保存してある状態で”opcv.exe”実行

.\opcv.exe

結果

ls

    Directory: J:\qtcpp\03_opencv

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2025/12/06    16:48         393668 input.jpg
-a---          2025/12/07     3:38            860 main.cpp
-a---          2025/12/08    20:49         153841 opcv.exe
-a---          2025/12/08    20:49         517775 output.jpg

output.jpgが出来上がっていることが確認出来る。

コメント