「環境デザイン学」のひとつの単元、コンピュータビジョン(3回)では、自身のPCで、OpenCVをコーディングしながら理解を深めます。初回の授業がはじまるまでの準備として、OpenCVが自身のPCで動いて(以下のサンプルプログラムが結果も含めて問題なく動作できていて)、開発できる状況にあればOKです。情報処理を学ばれた方は、C++が扱えるので、以下の環境で構築するのが無難でしょう。尚、授業では、OpenCVの新しい機能までは実装しませんので、バージョンは、少し古いもの(3.xとか)でも構いません。
自身のPCに開発環境をインストールする作業では、スムーズにインストール・動作検証できることは稀で、一定の試行錯誤の時間を見込んでおく必要があります。また、トラブルシューティングのためのサイトやコミュニティは、インターネット上に沢山ありますが、古いものや間違えているもの、読み替えが必要なものもあります。ご注意ください。
ここでは、以下の環境でセットアップを行うことを紹介します。
・Windows 10 Home
・Visual Studio 2019
・Open CV 4.3
以下のサイトが丁寧に解説されており、参考になります(教員側でもこの方法でインストール確認済み)。URLにアクセスしてインストールと動作確認をしてください。
VisualStudio2019 + OpenCV 導入
https://qiita.com/koteko/items/60936f34f21d7decf0b5
上記サイトには、以下の手順が書かれてあります。
1. VisualStudioのインストール
2. OpenCVの入手
3. VisualStudioでプロジェクトの設定
以下に、留意点を書いておきます。
・自身のPCにVisual Studio をはじめてインストールする場合、
・いきなり、OpenCVのサンプルプログラムで動作確認をする前に、C++の簡単なコードで動作確認しておきましょう(少し下に、C++動作検証用サンプル)。トラブルが起こった時に原因を早く突き止めるためです(問題をできるだけ細かく分解する)。
・この、C++サンプルが動かない場合、「iostream」など基本的なヘッダーファイルがPCにインストールされていない可能性があります。その場合、「Windows 10 SDK」をインストールした上で(以下)、
https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk/
・Visual Studio 2019の「プロジェクトのプロパティ」で、「インクルードディレクトリ」の設定を行う必要があります(以下サイトの真ん中あたりが参考になる)。
・「VisualStudio2019 + OpenCV 導入」サイトにある「3.3. サンプルプログラムでのテスト」は、設定方法は参考にしつつ、以下のプログラムでテストしてください。以下のプログラムの方が、赤で塗りつぶされたウィンドウが表示されるので、結果(実行して何が起こったのか)がわかりやすいと思います。
・インストールと動作検証の作業が、慣れないうちは、くじけそうになるかもしれませんが、粘り強く、頑張りましょう。トラブルが起こった時に、原因を突き止めることが肝要です。わからない点は、聞いてください(スクショ、エラーメッセージなどと共に、できるだけ具体的に)。詳しいクラスメートに尋ねるのも大切なことです。また、「エラーメッセージ 解決」などで検索しながら解決策を探すと自身で解決できるかもしれません。
留意点の追加(2020.6.29講義後、追記)
・インストールした"opencv"フォルダは、Cドライブの直下に置く。
・Visual Studioで作成する、Projectフォルダは、「C:\Users\(ユーザー名)\OneDrive\ドキュメント\」に置く。例えば、「Cドライブ」の直下や、「C:\Users\(ユーザー名)\source\repos」などに置かない(置くと、パーミッションの影響を受けて正常に動作しない)。
Macユーザー: MacにOpenCV4をインストールする(C++)
https://qiita.com/HoriThe3rd/items/2829463cd5bfe5cba03f
# Visual Studio for Macは、C++は使えないので、OpenCVも使えないはずです。
もしくは、
Boot Campを行うことにより、MacにWindows 10をインストールします(その上で、上記、Windows ユーザと同様、インストール作業)。
Boot Campの方法は、2年生のサイトにアップしています。コチラをご覧ください。
上記でインストール&動作検証ができない受講生へ
OpenCVはProcessingで動作させることができるはずです。ProcessingはWindows, Mac上で動作可能です(私自身はいずれのOSでも未検証です)。
#include <iostream>
int main()
{
std::cout << "Hello World!!!\n";
return 0;
}
実際にサンプルコードを打って試してみます(この最初のコードは、これまでに設定した動作確認を兼ねているためコピペでも構いません。特に慣れない方はコピペしましょう).
ソリューションエクスプローラーのソースファイルを右クリックして,「追加」->「新しい項目」でcppファイルを作成します.
作成したcppファイルに以下のソースコードを打ち込みます.
作成したサンプルは,赤色で塗りつぶされたウィンドウ表示するというサンプルです.
//00test.cpp
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
int main(int argc, const char* argv[])
{
// 幅320px、高さ240pxで赤色の画像データを生成
cv::Mat redImg(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 255));
// 画像表示用のウィンドウを生成
cv::namedWindow("red", cv::WINDOW_AUTOSIZE);
// ウィンドウに画像を表示
cv::imshow("red", redImg);
// キー入力を待機
cv::waitKey(0);
// 作成したウィンドウを全て破棄
cv::destroyAllWindows();
return 0;
}