cvDecodeImage

Предположим у вас есть загруженный в память каким-то образом графический файл, например, формата JPEG. И вам его надо открыть в OpenCV, однако документирована только функция cvLoadImage, которая позволяет загружать из файла. Можно конечно создать файл в памяти, но это не нужно, поскольку в OpenCV есть полезная недокументированная функция cvDecodeImage. На ряде Интернет-ресурсов, в том числе и на русских, уже есть достаточно давно описание использования этой функции, но я решил привести здесь пример использования этой функции, поскольку мне например не сразу стало понятно, как ее использовать и безопасно ли делать это, раз она недокументирована.

IplImage* cvDecodeImage( const CvMat* _buf, int iscolor );

Формат такой же, как у cvLoadImage, за исключением того, что передается не имя файла, а указатель на данные в памяти. Однако перед тем, как использовать данную функцию я решил посмотреть ее в исходниках.


( Читать дальше )