IplImage против CvMat

Я знаю, что многие люди заинтересованы в техническая разница между IplImage а также CvMat, (ДАНЕТ cv::Mat(*), но CvMat. Итак, давайте проясним различия с практической направленностью.

Является CvMat пересчитанная версия IplImage? Является CvMat только обертка вокруг IplImage? Если так, то почему они тоже развились? CvMat?

Я задавал эти вопросы, потому что Я видел IplImage являющийся далеко, самым популярным в общем поиске и на мой взгляд, он также имеет больше сообщений.

В чем выгода от использования IplImage? вместо новых структур?

(*) (Я поместил здесь также тег c ++, так как многие люди используют его также с c ++, а некоторые библиотеки предпочитают IplImage.)

4

Решение

IplImage пришел из библиотеки Intel Image Processing, в соответствии с документами:
http://opencv.willowgarage.com/documentation/basic_structures.html#iplimage

Этот вопрос также касается CvMat структура, которая может быть заметна для вас:
Какова структура памяти OpenCV cvMat?

Что касается того, что является более выгодным: в то время как могут быть небольшие различия скорости здесь или там с CvMat или же IplImage в разных контекстах — это зависит от того, что вы хотите сделать. Например. вам нужно разделить матричную структуру в памяти? Вам нужно эффективно сериализовать или искать и т. Д.? Приложение имеет значение.

(Теоретически, одно преимущество, предлагаемое IplImage является то, что из-за его родословной, как правило, он более совместим с существующими реализациями, как вы заметили.)

3

Другие решения

Я рекомендую вам прочитать абзац Примитивные типы данных OpenCV из книги Обучение OpenCV. Есть большое и хорошее объяснение различия между этими двумя типами данных.

4

Отвечая на ваш вопрос:

Какая польза от использования IplImage вместо более новых?
структуры?

Возможно нет. Его разработчики почему-то осуждают его, я думаю, причина, по которой вы все еще находите его, заключается в устаревшем коде; потому что люди все еще следуют старым образцам кода, не зная, что структура устарела, и потому что «Изучение OpenCV первое издание«устарел в отношении сигнатур функций opencv и структур данных, но за ним все еще следит множество людей, начинающих с opencv.

Как ссылка, Обучение OpenCV 2-е издание должен выйти в марте 2013 года, но не цитируйте меня;)

3
По вопросам рекламы [email protected]