Escritura y conversión de tipo de imagen OpenCV: Mat e IPLImage
Opencv Image Type Writing
Transferido de: https://blog.csdn.net/qq_37764129/article/details/81271660
OpenCV1 se basa en el formato de almacenamiento de imágenes IplImage * definido por la interfaz C, que expone directamente la memoria. Si olvida liberar la memoria, se producirá una pérdida de memoria. Comenzando con OpenCV2, comencé a usar la clase Mat para almacenar imágenes. La nueva interfaz C ++, cv :: Mat reemplaza el CvMat e IplImage originales de estilo c. Actualmente, la versión 2.0 también es compatible con la interfaz de c.
El cv :: Mat de C ++ unifica los conceptos de matriz e imagen en relación con la interfaz de c. De hecho, la matriz y la imagen son iguales. Dado que cv :: Mat es una clase de C ++, también tiene algunas características relacionadas. Por ejemplo, la liberación de la memoria. En C ++, cuando un objeto va más allá de su ámbito de uso, el destructor se llama automáticamente para su destrucción. En c, si asigna un espacio de memoria a una variable de tipo CvMat usando una función como cvCreateImage, debe llamar a la función correspondiente cvReleaseImage para liberarla sin destruirla automáticamente. Si no hay una versión correspondiente, provocará una pérdida de memoria.
La diferencia entre Mat e IplImage es la siguiente:
Programa lplImage:
|_+_|
Programa de alimentación:
|_+_|
Blog de referencia
https://blog.csdn.net/lanjingling09/article/details/27707049
https://blog.csdn.net/xumi13/article/details/52737563