2011-10-30 17 views
0

Windowsで顔検出にOpenCVを使用しようとしているうちに、ほとんどすべてのライブラリ(2d、3d、ml、guiなど)を取得する必要があります。さもなければ私のプログラムは動かないでしょう。なぜオブジェクト検出のアルゴリズムとして何かのGUIが必要なのかどうかはわかりません。最小限必要なライブラリのセットは何ですか?OpenCVをビルドするための特別な方法があります。そのような依存関係はあまりありません。OpenCVの顔検出に必要な最小限のライブラリは何ですか

答えて

0

cv :: Mat、opencv_imgprocなどのベースオブジェクトを取得するには、閾値、ヒストグラムなどの画像前処理、opencv_highguiを使用して画像の読み取り、書き込み、表示、およびカメラとビデオファイルからのビデオストリームの取得が必要です。これは、WindowsでopenCVを実行する方法を知らずに、あなたが使用しているopenCVのバージョンを知らないと、あなたに伝えることができます。私が知る限り、openCVの一部だけを構築する方法はありません。

一般的に私の経験から、使用しているヘッダーに関連付けられたライブラリを追加するだけで済みます。あなたがそれらを追跡することに問題があるならば、#include "opencv2/opencv.hpp"を避けて、#include "opencv2/core/core.hpp"などの少し難しい方法を試みてください。

+0

highguiライブラリでAPIを使用せずにディスクに画像を読み書きする例がありますか?私はコア、2dなどのようなOpenCV APIの残りの部分を使いたいですが、私はこのライブラリから必要なものすべてがWin32 APIの世界全体でドラッグされる画像ファイル処理であるため、highguiライブラリに依存したくありません。 –

+0

あなたが書いたことを理解できません。もしあなたがWin32 APIを避けたいのであれば、highguiはあなたがOpenCVを走らせることができる任意のシステムのための単一のAPIを提供するので、優れた選択です。バイナリfstreamを使用して、OpenCVのネイティブメカニズムを使用せずに保存しているだけなので、表示するものはないと思います。 – morynicz

+0

私が言っていることは、自分のアプリにGUIを必要とせず、画像にhighguiを使用すると、アプリで不要ないくつかのWin32の依存関係を不必要に読み込み/書き込みすることです。 –

0

はい、特定のライブラリ機能なしでOpenCVを構築できます。 OpenCVはCMakeを使用しています。まだわからないのであれば少し学習が必要ですが、CMakeビルド設定では不要なOpenCVコンポーネントのチェックを外すことができます。

他のライブラリで画像を読むことができますが、OpenCVなしで画像を読むことができる場合は、アプリでhighguiを使用せずに立ち去ることができます。

また、Haarカスケード分類子(OpenCV 2.3.1以降)のサポートには、#include "opencv2/objdetect/objdetect.hpp"が必要です。

関連する問題