[Visual Studio2017]OpenCV3.4.2の導入について
OpenCVの開発環境準備に躓いたので、忘れないようにと個人的なメモです。
誰かの役に立てば幸いです。
環境
OS : Windows10(64bit)
IDE : Visual studio community 2017(v141)
OpenCV : 3.4.2
とりあえず環境設定
方法としては他の方を参考させてもらいました。(参考文献欄に後述)←そちらのほうが断然わかりやすい
1.OpenCVを入れる。
-1. opencvのインストーラーをダウンロード
https://github.com/opencv/opencv/releases にて
https://github.com/opencv/opencv/releases/download/3.4.2/opencv-3.4.2-vc14_vc15.exe (opencv3.4.2)をダウンロードする。
-2. installする
ダウンロードしたもの(.exe)を実行すると以下のようなものが立ち上がる。
opencvのファイルを展開してくれるもの。
ので任意のところにopencvのフォルダを展開する。
今回はCドライブ直下に置くことにする。
2.PATH(環境変数)を通す。
コントロールパネル>システムとセキュリティ>システム>システムの詳細設定>環境変数>PATH
に以下を追加する。
C:\opencv\build\x64\vc15\bin
3.Visual Studioの設定
まずは適当に空のプロジェクト、コンソールアプリケーションを作成する。
プロジェクトのプロパティで以下を設定する
以下設定例(opencvフォルダはCドライブ直下にある。)
パスの種類 | 設定に追加するパス | 説明 |
---|---|---|
インクルードパス | C:\opencv\build\include | OpenCVのヘッダファイル(.h or .hpp)を検索する対象フォルダへのパス |
ライブラリパス | C:\opencv\build\x64\vc15\lib | ソースコード中にリンク指定した静的ライブラリ(.lib)を探すためのパス |
最後に
opencv_world341.libも設定しておく。
サンプル
以下を動かして動けばおわり。
なお、自分の場合はエラーが出たので終われない模様。
#include <opencv2/opencv.hpp>
int main(void)
{
cv::Mat image;
image = cv::imread("C:/opencv/sources/samples/data/lena.jpg");
if (image.empty() == true) {
return 0;
}
cv::imshow("画像", image);
cv::waitKey();
return 0;
}
LINK2019やE1696などのエラーが出る。
設定がうまくいっていないとエラーが出る
ざっくりとそのエラーの説明。
エラー名 | その内容 |
---|---|
LINK2019 | includeやlibraryなどリンカー設定がうまくいってない? |
E1696 | ヘッダーファイルが開けない?ほぼ上と同じ |
エラー改善
前述した設定について、$(IncludePath)などを消してしまうと、C++の標準ライブラリが読み込めなくなる?らしい
ので消してはいけない。
opencv_world341.libについても同様に追記という形で設定することを間違えない。
参考文献
[OpenCV 3.4.2をVisual Studio 2017から使用する時の手順]
https://qiita.com/h-adachi/items/aad3401b8900438b2acd
[Visual Studio Community 2017にOpenCV 3.4.1を入れた話]
https://qiita.com/mental_hell/items/4a19ae450f5909d099ed#_reference-9638d0835fc4b07897e5
Author And Source
この問題について([Visual Studio2017]OpenCV3.4.2の導入について), 我々は、より多くの情報をここで見つけました https://qiita.com/uoyuki/items/64645baa7a85c1af8f4a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .