Interface編集部
OpenCV画像処理の始め方(Visual Studio 2026 対応)…Visual Studioのセットアップとプログラムの動かし方
ここでは,Visual Studioを使ってOpenCV画像処理を始める方向けに,ソフトウェアのインストールや設定といった環境構築とプログラムの実行方法を紹介します.
●環境構築
1,Visual Studioのインストール
ウェブサイトからVisualStudioSetup.exeを入手し,実行してPCにVisual Studioをインストールします.
(2026年3月12日時点ではVisual Studio 2026が最新です)
2,OpenCVのインストール
ウェブサイトから,OpenCVをお使いのOSにあったものをダウンロードします.ここでは,ver4.12.0でOSはWindowsとします.
ウェブサイト中の「OpenCV – 4.12.0」の「Windows」をクリックします.すると,「opencv-4.12.0-windows.exe」がダウンロードされます.このexeファイルを実行すると,opencvというフォルダが生成されますので,このフォルダを好きな場所に置いてください.ここでは,Cドライブ直下におくことにします.

3,環境変数の設定
環境変数の設定画面で,「システムの環境変数」にあるPathの行をクリックし,次の内容を新規で追加します.
C:\opencv\build\x64\vc16\bin

追加したら,最後に「OK」をクリックします.
もし,opencvのフォルダをCドライブ直下以外に置いた場合は,適宜変更してください.
●プログラムの実行手順
1,プロジェクトの作成
Visual Studioを起動し,「新しいプロジェクトの作成」をクリックします.

次に,アプリの種類でC++言語の「コンソールアプリ」を選択し,「次へ」をクリックします.

その後,プロジェクトの名前や場所などを設定し,「作成」をクリックします.

なお,ここでは「ConsoleApplication1」とします.すると,Visual Studioのメイン画面が表示されます.

2,プロジェクトの設定
Visual Studioメイン画面上部の「プロジェクト」から「ConsoleApplication1のプロパティ」を開きます.まずは,「リンカ―」の「全般」にある「追加のライブラリ」に次を記述してください.
C:\opencv\build\x64\vc16\lib

次に「C/C++」の「全般」にある「追加のインクルードディレクトリ」に次を記述してください.
C:\opencv\build\include

ここで,先ほど生成したopencvフォルダを入れた場所がCドライブ直下以外の場合は,適宜変更してください.
次に,画面上部の[Debug]となっている欄を[Release]に変更してください.

最後に,画面上部の「デバッグ」から「ConsoleApplication1のデバッグ プロパティ」を選択します.すると,「ConsoleApplication1 プロパティページ」が開くので,ここの「リンカ―」の「入力」にある「追加の依存ファイル」の先頭に,次の文字列を追加してください※.
opencv_world4120.lib;

※バージョンによってファイル名が異なる場合があります
3,プログラムの記述
今回は一例として,Interface 2024年9月号の第3部第2章の「特徴点マッチングを使った物体検出」にあるプログラムを動かしてみます.まずは,ダウンロード・データ「IF2409IS」をダウンロードし展開しておきます.今回はこの中にある,prog1のプログラムを実行してみます.
/* prog1/main.cpp 開始 */
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/features2d.hpp>
int main(int argc, char* argv[]) {
// 画像の読み込み
cv::Mat img = cv::imread("trump10.jpg");
// グレースケールに変更
cv::cvtColor(img, img, cv::COLOR_BGR2GRAY);
// 特徴点検出器を作成
cv::Ptr AKAZEdetector;
AKAZEdetector = cv::AKAZE::create();
AKAZEdetector->setThreshold(0.02);
cv::Ptr ORBdetector;
ORBdetector = cv::ORB::create();
ORBdetector->setMaxFeatures(100);
// 特徴点を抽出
std::vector keypoint_akaze, keypoint_ORB;
AKAZEdetector->detect(img, keypoint_akaze);
ORBdetector->detect(img, keypoint_ORB);
// 特徴点を描画
cv::Mat dst, dst_akaze, dst_ORB;
cv::drawKeypoints(img, keypoint_akaze, dst_akaze, cv::Scalar(0, 255, 0));
cv::drawKeypoints(img, keypoint_ORB, dst_ORB, cv::Scalar(0, 255, 0));
cv::imshow("keypoint_akaze", dst_akaze);
cv::imshow("keypoint_ORB", dst_ORB);
cv::imwrite("trump_keypoint_akaze.png", dst_akaze);
cv::imwrite("trump_keypoint_orb.png", dst_ORB);
cv::waitKey(0);
return 0;
}
/* prog1/main.cpp 終了 */
ダウンロードしたprog1フォルダの中のmain.cppか,上記の内容をコピーして,Visual Studioのコード・エディタに貼り付けます.貼り付け後,メイン画面上に「問題は見つかりませんでした」の文字があるかも確認してください.

もしエラーがある場合は,バツ印が表示されます.この場合は,プログラムに誤りがあるので,点検してください.
例えば,)(括弧閉じ)や;(セミコロン)を誤って消してしまった,設定が適切にできていないなどがよくあります.

4,画像ファイルの追加
次にプログラムを見ていくと,
cv::Mat img = cv::imread(“trump10.jpg”);
の表記があります.
この中のcv::imreadは,画像ファイル(trump10.jpg)を読み込む命令なので,ConsoleApplication1\ ConsoleApplication1フォルダ(ConsoleApplication1フォルダの中にさらに ConsoleApplication1フォルダがある)の中に対象の画像ファイル(trump10.jpg)を入れておきます.

もし今後もこのような画像読み込みの命令がある場合は,対象の画像ファイルをフォルダに入れておいてください.読み込む画像ファイルがないとエラーが発生します.
5,プログラムの実行
以上で準備は整ったので,プログラムを実行してみます.Visual Studio上部の三角マークをクリックして,プログラムを実行します.

実行すると,次のように実行結果が表示されます.

また,ConsoleApplication1\ ConsoleApplication1フォルダの中に
・trump_keypoint_akaze.png
・trump_keypoint_orb.png
が生成されます.

以上がVisual StudioとOpenCVを使ったプログラムの動かし方です.他のプログラムも同じ手順で動かすことができます.また,1度プロジェクトを作成してしまえば,次からは一からプロジェクトを作成しなくても,動かしたいプログラムをコピー&ペーストして実行するだけで動かせます.
なお,繰り返しになりますが,新しいプログラムを動かす際は読み込む画像ファイルを確認してフォルダに入れておくことを忘れないでください.

















