私は視覚的な画像処理のプロジェクトを開始しようとしていますが、Matlab、Aforge、OpenCVの経験がなく、これらのさまざまなソフトウェアパッケージの経験があるかどうか疑問に思っていました。
また、OpenCVを想定しているので、3つのパッケージのどれが最も効率的か疑問に思いましたが、誰か経験がありますか?
ありがとう
ジェイミー。
私は視覚的な画像処理のプロジェクトを開始しようとしていますが、Matlab、Aforge、OpenCVの経験がなく、これらのさまざまなソフトウェアパッケージの経験があるかどうか疑問に思っていました。
また、OpenCVを想定しているので、3つのパッケージのどれが最も効率的か疑問に思いましたが、誰か経験がありますか?
ありがとう
ジェイミー。
あなたが自分自身に尋ねる必要がある質問は、どちらがより重要であるかです-あなたの時間またはコンピュータの時間。タスクが本当に単純な場合は、MATLABでコード化して、すぐに機能させることができる場合があります。MATLABは、開発がはるかに簡単です。組み込みのメモリ管理、提供される関数の膨大な配列、およびデバッグ中にデータを表示および操作するための優れたインターフェイスを備えたスクリプト言語です。
一方、MATLABは、多くのタスクでコンパイルされたopenCVコードよりも少なくとも1桁遅くなります。これは、インテルパフォーマンスプリミティブライブラリを使用する場合に特に当てはまります。
MATLABでコーディングする方法を知っている場合は、その言語でアルゴリズムを記述してデバッグし、openCVを使用してc /c++に移植して速度を上げることをお勧めします。スピードアップする必要のある単純な関数が2つしかない場合は、MATLABからcコードを呼び出すことができますが、最初の数回はこれを正しく機能させるのは難しいため、書き直したほうがよいでしょう。完全にc/c++で完成したコード
私は昨年、高速道路で車を使って2つの同様のプロジェクトに取り組みました。Afaik、Matlabでは一度に1つの画像フレームのみを処理できます(確かに、ストリームを計算するためのアルゴリズムを作成できます)が、Simulinkを使用するとストリームを直接処理できます。
一方、AForgeは、GUIから(それほど高速/簡単ではない)Matlab / simulinkで処理パラメーターを簡単に調整できるため、非常に使いやすく、使いやすいことがわかりました。
私はAforge.Netに行きます。処理速度が気になる場合も十分に高速です。(640x480を使用)
まず、プロジェクトのニーズについて詳しく説明してください。これは、他の要因、つまり一般的なプログラミング知識に加えて、選択に最も大きな影響を与えます(たとえば、ドットネットを扱ったことがなく、C ++だけを扱った場合、AForgeは適切な選択ではありません)。
一般的、
AForgeとOpenCVの両方に.Netへの組み込みインターフェースがあり、OpenCVにもC ++、pythonなどがあります。Matlabの方が効率的かもしれませんが、Matlabの経験がない場合は、その構文も学ぶ必要があります。それを考慮に入れてください。
Matlabはおそらく最も多様な機能を備えていますが、他のプロジェクトよりも複雑です。OpenCVとAForge自体にはいくつかの違いがあります-このStackOverflowの質問/回答で説明されているものを参照してください。
.netでこれらのいずれかを使用することについて質問している場合は、次の方法で簡単に情報を入手できます。
1-エンドプロトタイププロジェクトではなく、プロジェクトのシミュレーションで主に使用されるmatlab。私の数:30;
2-aforge(私は多くのプロジェクトで使用しています)画像のキャプチャや画像内の何かの認識などの循環プロセスが必要ない場合は...非常に優れているので、使いやすいですが単一のプロセスに役立ちます。私の番号:50
3-opencvは速度が非常に優れており、循環プロセスに役立ちます。たとえば、Webカメラから画像をキャプチャして、遅滞なく即座に漫画化できますが、フォージとして使用するのは簡単ではありません。とにかく、その速度と多くの機能のおかげで、プログラミングに必要なほとんどすべてのものが得られるので気に入っています。私の番号:80
Dr.Taha-Tahasoft.net