web-dev-qa-db-ja.com

C ++、Visual Studio 2017でOpenCV3.2.0をインストール/構成するにはどうすればよいですか?

Visual Studio 2017でOpenCVを使用してc ++プログラムを実行したい。

それを行うために、私は Visual StudioでOpenCVをセットアップする videoに従いました。その中で、彼はvc14をVS2015の環境変数として設定する必要があると述べました。 VS2017にはvc16はありません。それでは、VS2017でどのようにすればよいですか?また、VS2017を使用する場合、他にビデオ命令の変更が必要ですか?

20
Vijay Nirmal

公式のOpenCVチュートリアルのドキュメントは古いため、次のことをお勧めします。

  1. get VS-2017 のような完全なコンパイラで:

    enter image description here

  2. 最新を取得 CMake (古いバージョンをアンインストール)

  3. githubからsourceCode here および here を取得し、それらをC:/ openCVフォルダーに配置し、そこにBUILDフォルダーも作成します

  4. cmakeを開き、opencvマスターフォルダーを選択します...ビルドでビルドディレクトリを次のように記述します。

enter image description here

  1. [構成]をクリックし、Visual Studio 15 2017を選択して、[デフォルトのネイティブコンパイラを使用する]を選択したままにして、[完了]を押します...

enter image description here

6.1これでcmakeが仕事をしているのが見えるはずです:)

enter image description here

  1. 構成が完了したら、opencvの追加モジュールパスを設定し、もう一度構成をクリックし、完了したら、生成をクリックします。 :)

    enter image description here

  2. 生成が完了したら「プロジェクトを開く」をクリックすると、「opencv」という名前のビジュアルスタジオで巨大なプロジェクトが開きます。cmakeを閉じることができます。もう必要ありません。

  3. 今、ソリューションの準備ができたら、「デバッグ」confにいることを確認し、「ALL_BUILD」を右クリックしてから、「リリース」設定への変更が成功したら「ビルド」(しばらくかかることがあります) 「ALL_BUILD」で、次に「build」で。

  4. 今、あなたは「デバッグ」confにいることを確認し、「インストール」を右クリックし、ビルドが成功したら「リリース」設定に変更し、「インストール」を右クリックしてから「ビルド」(しばらく時間がかかる)再び「ビルド」。

受け入れられた答えに追加のヒント-このようなエラーが表示された場合:

無効なエスケープシーケンス\ o

ファイルシステムのパスをコピーして貼り付けるときは、円記号の代わりにスラッシュ(/)を使用してください。

C:\openCV\opencv_contrib-3.2.0\modules

でなければなりません

C:/openCV/opencv_contrib-3.2.0/modules

代わりに。そうしないと、エスケープシーケンス\oが存在しないというエラーが発生します。

3
Martin Zikmund

前の投稿は完璧です。 VS 2017にはlibバージョンVS141があります。

前のちょうど延長。

8ステップ。 cmakeがビルドフォルダーにOpencv.slnを生成した後。 VS 2017でこのプロジェクトを開きます Opencv visual studio 2017

私は最初にアプローチを使用していますが、x64バージョンをデバッグするだけです

Opencv visual studio 2017

出力は次のようになります

Opencv visual studio 2017

デバッグ後、ソリューション全体をリリースしてビルドに再度切り替えます。 32ビットバージョンでも同じです。最終的なソリューションは、ビルドフォルダーの下のインストール場所にあります。 contrib libsを使用すると、I7ではプロセス全体で約30分かかりました。欠陥がなくなるまでCMAKEで振るだけで、FFMPEG、Contrib、およびその他のパスが含まれます。 VS 2017の最終ビルド。

私のブログで見つけることができるビルドされたライブラリの全体的なアプローチとインストール Here

1
globalex