OpenCV: IplImageとMat、どちらを使うべきでしょうか? 質問する

OpenCV: IplImageとMat、どちらを使うべきでしょうか? 質問する

私は OpenCV を使い始めてまだ 2 か月ほどです。Bradski と Kaehler の著書「Learning OpenCV」を持っています。質問ですが、すべてを 2.0 以降の方法で実行したい場合、Matrices (Mat) と IplImage はいつ使用すればよいのでしょうか。

Bradky の本では、OpenCV 2.0 に基づいて書かれており、サンプル コードでは主に IplImage を使用していることが最初に (序文で) 述べられていますが、最近のオンライン ドキュメントでは、Mat が現在では画像、マスクなどの包括的なデータ型であり、Matlab の基本的なマトリックスのようなものになっているようです。これにより、IplImage は廃止されたと見なすべきかどうか疑問に思います。

では、新しいコードを書くときは IplImages を完全に避けるべきでしょうか? それとも、Mats ではできないが IplImages ではできる重要なことがあるのでしょうか?

ありがとう。

ベストアンサー1

IplImageOpenCV には最初から存在していました。これは OpenCV の C インターフェースの一部です。IplImage構造体のメモリの割り当てと解放は自分で行う必要があります。(cvReleaseImageコマンドを覚えていますか?)

新しいMat構造体は C++ 構造体の一部です。したがって、明らかにオブジェクト指向です。また、すべてのメモリを管理します。メモリへの参照を追跡します。参照数がゼロになると、自動的に割り当てを解除します。これは優れた機能の 1 つです。

に進んでください。Intellisenseを備えた IDE を使用している場合は、コードを からにMat変換するのは簡単なはずです(入力すると、可能な関数、変数などのリストが表示されます)。IplImageMat

おすすめ記事