4
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 3 years have passed since last update.

Visual Studio と OpenCV で画像処理をする[インストールから画像表示まで]

Posted at

#1. はじめに
Visual Studio の環境構築ってめんどくさいですよね。
著者はこれまで画像処理は、VSCode を使って Python で行なってました。
ただ、ロボットへの実装やらリアルタイム対応やらで Python では処理が追いつかず…。
そろそろ C++ に移行する時期だなと物思いにふけって記事を投稿する運びになりました。
ということで、Visual Studio のインストールから OpenCV の導入までをササッと解説します。

流れは以下のとおりです。

  • Visual Studio のインストール
  • C++ の動作確認
  • OpenCV のダウンロード
  • Visual Studio で OpenCV を使う
  • Let's enjoy 画像処理ライフ

#2. Visual Studio のインストール
OpenCV の拡張機能を入れるのであれば「Visual Studio 2019」、
そうでなければ「Visual Studio 2022」をダウンロードしてください。
ちなみにどちらも「Visual Studio 〇〇 Community」を選択してください。

Visual Studio 2019 はここから
Visual Studio 2022 はここから

ダウンロードできたら、ファイルをクリックして少し待ちます。
以下の画像までいったら、[C++ によるデスクトップ開発] にチェックをいれてインストールします。
容量を 8.5GB も使うので、できればデスクトップでやるべきですね。

VisualStudioMenu.PNG

ここまでは簡単ですよね。インストールまで気長にお茶でも飲んで待ちましょう。
ちなみに筆者は「Visual Studio 2019 Community」で色々やっています。

#3. C++ の動作確認
入っていると分かっていても、ちゃんと動作するかは見ておきましょう。
まずは下の画像のようにプロジェクトを作ってみましょう。

VisualStudio_Start_Image.PNG
VisualStudio_Start_Image2.PNG
VisualStudio_Start_Image3.PNG

ここまでできると、以下のような「Hello World!」が出力されるプログラムが作成されるので、さっそく実行してみましょう。
VisualStudio_Start_Image4.PNG
Result.PNG

#4. OpenCV のダウンロード
次に OpenCV をダウンロードします。
まずは以下のサイトにアクセスして、ダウンロードします。2021/11/14 時点ではバージョン 4.5.4 が最新だったので、それをダウンロードしています。

OpenCV ダウンロード先はここ

OpenCV_page.PNG

ダウンロードができたらファイルをクリックし、展開先を以下のように変更しておきます。
OpenCV_extract.PNG

展開できたら、次はパスを通します。
これは OpenCV の実行ファイルがここにあるよ~っていうことを教えてあげる作業です。
Windows の検索機能で「環境変数」を入力して検索すると、以下の画面が出てくると思うので、
画像の順番でパスを通してあげましょう。

Environment_variable1.PNG
Environment_variable2.PNG
Environment_variable3.PNG

ここまでできたらあともう一歩です。次の節で何かおかしいことが起きれば、
この節のことができていない可能性があるので見返してみましょう。

#5. Visual Studio で OpenCV を使う
さて、本格的に C++ で OpenCV を使ってコードをバリバリ書くぜ … といきたいところですが、まだちょっと設定することがあります。
一度、作成した C++ ファイルの先頭に以下を書いてみてください。
おそらく「ソースファイルが開けません」と出てくるはずです。

#include <opencv2/opencv.hpp>

これを解決するために、インクルードファイルがあるフォルダを
Visual Studio 側で追加してやる必要があるので、その設定について解説します。
まず、上部のタブの中から [デバック] → [〇〇のプロパティ] をクリックすると以下の画面が出ます。
そこから以下の画像の手順で、インクルードディレクトリとライブラリディレクトリを追加します。
ディレクトリは、OpenCV を展開したファイルを辿って、画像のところまできたらパスをコピペすると簡単です。

[C/C++] → [全般] → [追加のインク―ルドディレクトリ] を選択して編集。
構成とプラットフォームも画像のようにあっているかを確認してみてください。
Setup_include_file2.PNG
ダブルクリックすると、文字が打てるようになるので、コピーしたディレクトリのパス名をペースト。
Setup_include_file4.PNG
ライブラリディレクトリに関しても同様。
[リンカー] → [全般] → [追加のライブラリディレクトリ] を選択して編集。
Setup_include_file3.PNG
Setup_include_file5.PNG

これで [適用] を押すと、先ほど出ていたエラーがなくなるはずです。
もしまだエラーが出ているならどこかが間違っているので見直してみましょう。

#6. Let's enjoy 画像処理ライフ
入門編として画像を表示してみましょう。
以下の画像ファイルをデスクトップの直下に保存してください。
lena さんの画像(なぜか画像処理でよく使用される)

では、以下のコードを試してみましょう。
ライブラリの名前や、自身のデスクトップのディレクトリなどは適宜変更してください。

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

// OpenCV のバージョンが違うなら名前は 454 の部分を自身のものに変更する
#ifdef _DEBUG
#pragma comment(lib, "opencv_world454d.lib")
#else
#pragma comment(lib, "opencv_world454.lib")
#endif

int main()
{
	// 表示するときのウィンドウ名
	const char* windowName = "image";

	// ユーザーの名前は自分のものに変更してください
	cv::Mat img = cv::imread("C:\\Users\\kairi\\Desktop\\lena.png");
	cv::imshow(windowName, img);

	cv::waitKey(0);

	return 0;
}

無事、以下のように出力されれば終了です。Let's enjoy 画像処理!
Result2.PNG

エラーが出たら

プログラム段階でエラーが出た場合は以下を確認 & 試してみてください。

  • デバックボタン横のプラットフォームが (x64) になっているか確認する。
  • 例外スルーでプログラムが止まるときは、「ストップする」のチェックボックスを外す。

その他、追記あれば書き足していきます。

最後に

無事に出力できれば色々処理を試してみてください。
画像のサイズを変更したり、色を変えたり …。
OpenCV は色々処理があるので、勉強のまとめとしてそのあたりも記事が書いていけたらなと。
拙い文章でしたが、最後まで読んでいただきありがとうございました!

4
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
4
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?