IplImage
has been in OpenCV since the very beginning. It is a part of the C interface for OpenCV. You need to allocate and deallocate memory for IplImage
structures yourself. (remember the cvReleaseImage
commands?)
The new Mat
structure is a part of the C++ structure. So obviously it is object oriented. Also, it manages all memory for you! It keeps a track of references to it. Then the number of references goes to zero, it deallocates automatically. This is one superb feature!
Go for Mat
. It should be easy to translate code from the IplImage
thingy to the Mat
thingy if you are using some IDE that has Intellisense (it drops down a list of possible functions, variables, etc as you type)