質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.92%

OpenCVの導入法による違い

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,501

yu340102

score 27

OpenCVのカスケードファイルを用いて人物検出に関する研究を行っている学生から質問です.

去年,研究室に配属された際に,先輩からNuGetを用いたOpenCV導入法を教わり,使用してきました.
年度が変わり,新しいPCで初期設定を行ううちにOpenCVの導入法はNuGetを用いる方法の他に,
・公式インストーラを用いる方法
・CMakeを用いる方法
があることを知りました.

しかし,調べていてもそれぞれのメリット・デメリットがいまいち分かりません.
・NuGet
・公式インストーラ
・CMake
それぞれのメリット・デメリットを教えてほしいです.

一番動作が軽いものを使いたいと考えています.
また,CMakeについては今回調べて初めて聞いたものでまだいまいちピンと来ていない状態です.

回答よろしくお願いします!

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

0

CMakeについては今回調べて初めて聞いたものでまだいまいちピンと来ていない状態です.

OpenCVを便利な道具として使うだけであれば、あなたの開発環境で手軽に導入できるものを選べば良いでしょう。その点ではNuGet版が最もお手軽です。おすすめ。

一番動作が軽いものを使いたいと考えています.

OpenCVバージョンが同じであれば、動作性能に違いはありません。お好きなものをどうぞ。


それぞれのメリット・デメリットを教えてほしいです. 

  • NuGet:Visual Studio開発環境であれば、最も導入がお手軽です。
  • 公式インストーラ:何らかの理由でNuGetを使えない環境では便利です。
  • CMake:OpenCVライブラリはさまざまな オプション機能 を提供しており、自前ビルドにより柔軟にオプション機能を有効化できます。

NuGet版と公式インストーラ版ではビルド済みバイナリ配布ですから、OpenCVライブラリが本来持っているオプション機能を全て利用することができません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

こんにちは。

OpenCVの環境構築(OpenCV 3.0/3.1)にざっくり書かれています。

しかし、できれば全てご自身でやってみてそれぞれの使い心地を体感されると有用と思います。
特にCMakeを使う方法では自分でOpenCVをビルドしますので、OpenCVの細かい動作を見る時などにOpenCVそのものに手をいれる事ができるようになります。かなり力が付きますよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/10 15:15

    細かい動作とは??みたいな状況なので,CMakeを選択して良さを体感できるか不安です.
    加えて,去年までvs2013を使用していたのですが,2015,2017が登場していることを知り,新しいものの方が良いのだろうと思い移行を考えているのですが,そちらも13→15or17に変えた場合に特に何が変わるのか教えていただけたら幸いです.

    キャンセル

  • 2017/05/10 15:47 編集

    CMakeを使うのが「良い」という意味ではないです。自力でOpenCVをビルドできると力がつきますよって話です。それなりにたいへんなのは事実です。プログラミング・スキルを育てることに興味がないのでしたら、NuGetを使う方法が一番手っ取り早いと思います。画像処理アルゴリズムの学習に注力できると思います。

    Visual C++のバージョンの差異の件です。
    Visual C++ 2015はC++11規格(https://ja.wikipedia.org/wiki/C%2B%2B11)にかなり良く対応していますので、それなりにC++を勉強する必要はありますが、プログラミングが楽になります。

    リリースノート(https://www.visualstudio.com/ja-jp/news/releasenotes/vs2017-relnotes)によると「Visual C++ - 2015 と 2017 の間に重大な変更はありません。」だそうです。
    他に、2017はそれ自身のインストールが早いので嬉しいですね。

    キャンセル

0

CMakeがいいと思います。
理由としてはOpenCVの内部でエラーが発生した場合にシンボルとソースが手元にあるのでデバッグしやすいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/10 15:08

    初心者の中の初心者なのでシンボルが何を指すのか分かりません.
    良ければ教えて欲しいです.

    キャンセル

  • 2017/05/11 09:35

    @koba830 シンボルとはデバッグ用に使用出来る情報ファイル(拡張子はpdb)です。例えば、Visual Studioからデバッグ実行しているときにOpenCVの中でエラーが発生した場合、シンボル情報を使用してOpenCV内のソースコードの該当箇所を表示できたりします。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る