OpenCV/C++ 環境構築 最短ガイド【Windows/macOS/Linux】

OpenCV for C++
📌 準備: OpenCV の環境構築がまだの方はこちら → C++ 環境構築ガイドC#(OpenCvSharp)セットアップ

OpenCV/C++ 環境構築 最短ガイド【Windows/macOS/Linux】

この記事では、OpenCV を C++ で使い始めるための環境構築を OS 別に説明します。この1本を読み終えた時点で、当ブログのサンプルコードをコンパイルして動かせる状態になることを目標にしています。

opencv_contrib を含むフルビルドは対象外です(別記事で扱います)。まずは「動く環境」を最短で作ることに集中します。


前提環境

項目 バージョン
OpenCV 4.x(記事執筆時点: 4.9 系)
C++ 規格 C++17
Windows Windows 10/11 + Visual Studio 2022(Community 可)
macOS macOS 12 以降 + Homebrew
Ubuntu 24.04 LTS(26.04 LTS でも同手順)

OS 別インストール手順

Windows

Windows には大きく2つの方法があります。公式プリビルドバイナリが最も手軽です。

方法1: 公式プリビルドバイナリ + Visual Studio 2022(推奨)

1. インストーラーをダウンロードする

https://opencv.org/releases/ から最新の Windows 向け .exe をダウンロードして実行します。デフォルトでは C:\opencv に展開されます。

2. 環境変数 PATH を通す

展開後のフォルダ構成は以下のようになります。

C:\opencv\
  build\
    x64\
      vc17\
        bin\      ← DLL が入っている(PATH に追加する)
        lib\      ← .lib ファイル
    include\      ← ヘッダ

C:\opencv\build\x64\vc17\binシステム環境変数の Path に追加してください。追加後はコマンドプロンプトを再起動します。

⚠️ PATH を通し忘れると、ビルドは成功しても実行時に opencv_world4xx.dll が見つかりません というエラーが出ます。

3. Visual Studio 2022 でプロジェクトを設定する

プロジェクトのプロパティで以下を設定します(x64 / Release の構成で揃えること)。

設定箇所
C/C++ → 追加のインクルードディレクトリ C:\opencv\build\include
リンカー → 追加のライブラリディレクトリ C:\opencv\build\x64\vc17\lib
リンカー → 追加の依存ファイル opencv_world490.lib(バージョンに合わせる)

Debug ビルドでは opencv_world490d.lib(末尾に d)を使います。Debug/Release の取り違えが最も多いつまずきポイントです。

方法2: vcpkg(パッケージ管理で自動化したい場合)

git clone https://github.com/microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
vcpkg install opencv4:x64-windows
vcpkg integrate install

integrate install 後は Visual Studio が自動的にインクルードパスとリンク設定を認識します。vcpkg 経由では opencv_world ではなくモジュール別 lib が生成される点に注意してください。


macOS

Homebrew を使います。1コマンドで完了します。

brew install opencv

インストール後、pkg-config が使えることを確認します。

pkg-config --modversion opencv4

バージョン番号(例: 4.9.0)が表示されれば成功です。


Ubuntu 24.04 LTS

apt でインストールします。

sudo apt update
sudo apt install -y libopencv-dev

確認:

pkg-config --modversion opencv4

バージョン番号が表示されれば完了です。Ubuntu 24.04 LTS の apt では OpenCV 4.6 系が入ります(2026年4月リリースの 26.04 LTS でも手順は同じで、より新しい系列が入ります)。apt のバージョンで足りない場合はソースビルドが必要です。


pkg-config とは何か

macOS・Linux のコンパイル例では次の形式をよく使います。

g++ -std=c++17 main.cpp `pkg-config --cflags --libs opencv4`

pkg-config はライブラリのコンパイルフラグを自動展開するツールです。--cflags はインクルードパス(-I/usr/include/opencv4 等)、--libs はリンクフラグ(-lopencv_core -lopencv_imgproc ... 等)をそれぞれ出力します。バッククォートで囲むことでその出力をコンパイル引数に展開しています。

# 実際に展開される内容を確認する
pkg-config --cflags --libs opencv4

このコマンドを実行すると、インクルードパスとリンクフラグの一覧が表示されます。当ブログの全サンプルコードはこの形式でコンパイルできます。


ビルド方法

g++(macOS / Linux)

g++ -std=c++17 main.cpp `pkg-config --cflags --libs opencv4` -o main
./main

CMake(Windows / macOS / Linux 共通)

プロジェクトルートに CMakeLists.txt を作成します。

cmake_minimum_required(VERSION 3.16)
project(opencv_sample CXX)

set(CMAKE_CXX_STANDARD 17)

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

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

ビルド手順:

mkdir build && cd build
cmake ..
cmake --build . --config Release

動作確認

画像ファイルを必要としない、最小の確認プログラムです。

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

int main()
{
    // OpenCV バージョンを表示する
    std::cout << "OpenCV version: " << cv::getVersionString() << std::endl;

    // ビルド情報(コンパイルオプション等)を確認したい場合
    // std::cout << cv::getBuildInformation() << std::endl;

    return 0;
}

実行すると次のように表示されます。

OpenCV version: 4.9.0

バージョン番号は環境によって異なります。数字が表示されれば環境構築は成功です。


つまずきポイント

Windows: DLL が見つからない(実行時エラー)

ビルドが成功しても実行時に「opencv_world4xx.dll が見つかりません」と出る場合、C:\opencv\build\x64\vc17\bin が PATH に追加されていません。PATH 追加後はコマンドプロンプトを再起動してください。再起動しないと変更が反映されません。

代替手段として、DLL を実行ファイルと同じフォルダにコピーする方法もあります。

Windows: Debug/Release・x64/x86 の取り違え

Visual Studio のプロパティ設定はアクティブな構成(Debug/Release)とプラットフォーム(x64/x86)ごとに独立しています。Release 用 .lib を Debug 構成でリンクしようとするとリンクエラーになります。プロパティを開く前に必ず構成セレクターを確認してください。

macOS: pkg-config: command not found

Homebrew で OpenCV をインストールしても pkg-config 自体が入っていない場合があります。

brew install pkg-config

でインストールしてから再度試してください。


opencv_contrib が必要になったら

SIFT・SURF・ArUco など追加モジュールを使う場合は、OpenCV をソースからビルドする必要があります。手順は以下の記事で詳しく解説しています。

OpenCV + opencv_contrib を Windows でビルドする完全ガイド【C++/VS2022】


まとめ

OS 最短手順
Windows 公式プリビルド .exe を展開し、PATH と VS プロパティを設定
macOS brew install opencv のみ
Ubuntu sudo apt install libopencv-dev のみ

環境が整ったら、次のステップとして画像の読み込みと表示を試してみてください。

OpenCV/C++ imread・imshow の使い方 〜画像を読み込んで表示する〜

🛠 画像処理のプロが開発するSDK/API

本ブログを運営するスワローインキュベートは、OpenCV ベースのなりすまし判定SDK/API(C++製・OpenCV 4.10)を開発しています。顔認証システムへの組み込み実績多数。

→ なりすまし判定SDK/APIの詳細を見る
→ API仕様書・サンプルコード

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