1

次のプロジェクトで何を使用すればよいか本当にわかりません: IplImage? または Cv::Mat?

私が欲しいことを知っている:

  • より良いパフォーマンス
  • 使用するさまざまなツールに関するかなりの速度応答 (マットの乗算、さまざまな計算/画像処理ツールなど)
  • 記憶の使用が少ない

もしそうなら、以前のすべての IplImages を cv::Mat に変更しますか?

4

1 に答える 1

6

どちらも他のものより速くも軽くもありません。少なくとも測定可能な方法で。(おそらく cv::Mat は IplImage よりも 4 バイト多く、画像データを格納するために必要な 12.000.000 バイトと比較して問題はありません)

どちらもより高速な計算も、それを処理するためのより多くのツールも提供しません。

それらが提供するのは、いくつかのデータへのポインターと、画像の幅、高さ、ステップ、およびタイプに関する追加情報だけです。

しかし、cv::Mat (およびその他の C++ インターフェース) は、はるかに簡単で安全に使用できます。より少ないコードを、より短い時間で記述できます。修正するバグが少なくなります。これにより、速度とメモリ消費の両方でアルゴリズムを改善することに集中できます。

そして、この事実のために、はい、cv::Mat ははるかに高速で軽量です - うまく利用すれば。

また、これと同様のOpenCV: C++ と C のパフォーマンス比較も確認してください。

于 2013-05-24T12:59:14.430 に答える