самая быстрая библиотека обработки изображений? - PullRequest
5 голосов
/ 31 декабря 2011

Я работаю над системой роботизированного зрения, и ее основная цель - обнаружение объектов, я хочу выбрать одну из этих библиотек (CImg, OpenCV), и у меня есть знания об обеих из них.

РоботЯ использую Linux, процессор с тактовой частотой 1 ГГц и оперативную память 1G, и я использую C ++, размер изображения составляет 320p.

Я хочу, чтобы обработка изображений в режиме реального времени выполнялась со скоростью около 20 из 25 кадров в секунду.По вашему мнению, какая библиотека более мощная? Хотя я протестировал обе библиотеки и у них одинаковое время обработки, open cv немного лучше, и я думаю, это потому, что я использую указатели с кодами open cv.

Пожалуйста, поделитесь своей идеейи ваш разум.

спасибо.

Ответы [ 2 ]

5 голосов
/ 31 декабря 2011

Я думаю, что вы, возможно, сможете добиться максимальной производительности при интеграции - OpenCV с IPP.

См. Эту ссылку, http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq/

Вот еще одна ссылка http://experienceopencv.blogspot.com/2011/07/speed-up-with-intel-integrated.html

Далее, если вы заморозите алгоритм, который работает отлично, обычно вы можете изолироватьваш алгоритм и ваш путь к серьезной оптимизации (такой как оптимизация памяти, перенос к сборке и т. д.), которая может быть не готова к использованию.

1 голос
/ 04 февраля 2012

Это действительно зависит от того, что вы хотите сделать (какие объекты вы хотите обнаружить, точность, какой алгоритм вы используете и т. Д.) И сколько у вас есть времени.Если бы это было для общего компьютерного зрения / обработки изображений, я бы придерживался OpenCV.Как сказал Дипан, подумайте о дальнейшей оптимизации.По моему опыту с оптимизацией для Computer Vision, узкое место обычно заключается в пропускной способности межсоединений памяти (или самой памяти), и поэтому вам, возможно, придется тратить циклы (вычисления), чтобы сэкономить на связи.По-настоящему хорошо разбирайтесь в алгоритме для дальнейшей оптимизации алгоритма (который иногда может дать огромные улучшения по сравнению с компиляторами).

...