2011-12-31 1 views
5

저는 로봇 비전 시스템에서 일하고 있습니다. 그 주요 목적은 객체를 탐지하는 것입니다.이 라이브러리 (CImg, OpenCV) 중 하나를 선택하고 싶습니다.가장 빠른 이미지 처리 라이브러리?

제가 사용하고있는 로봇에는 Linux, 1GHz CPU 및 1G RAM이 있으며 이미지 크기는 320p입니다.

초당 25 프레임 중 20 개 근처에서 실시간 이미지 처리를하고 싶습니다. 두 라이브러리 모두 테스트를 거쳤지 만 어느 라이브러리가 더 강력한 지에 대한 의견으로는 열려있는 cv 코드가있는 포인터를 사용하기 때문에 열려있는 cv가 약간 더 좋으며 생각합니다.

아이디어와 이유를 알려주십시오.

감사합니다.

+2

DSP-Q & A 사이트 자체에 이러한 이미지 처리 질문을 제시하는 것이 가장 좋습니다. http://dsp.stackexchange.com/ –

답변

5

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

입니다 메모리 최적화, 어셈블리로 포팅하는 것 등).

+0

하지만 IPP는 무료가 아닙니다 :) – ajlajlajl

+0

IPP가 임베디드 시스템에서 실행하십시오. OpenCV는 거대한 사용자 기반을 가지고 있습니다. –

+0

OpenCV가 답입니다. OpenCV는 사용할 수있는 가장 빠르고 강력한 라이브러리입니다. – ahoffer

1

정말 당신이 무엇을하고 싶은지, 정확성, 어떤 알고리즘을 사용하고 있는지 등 .. 원하는 시간과 얼마나 많은 시간을 갖고 싶은지에 달려 있습니다. 일반 컴퓨터 비전/이미지 처리를위한 것이라면 OpenCV를 계속 사용합니다. Dipan이 말했듯이 최적화를 더 고려해야합니다. Computer Vision의 최적화 경험에서 병목 현상은 일반적으로 메모리 상호 연결 대역폭 (또는 메모리 자체)에 있으므로 의사 소통을 절약하기 위해주기 (계산)를해야 할 수도 있습니다. 알고리즘을 더 잘 이해하기 위해서는 알고리즘을 잘 이해해야합니다 (컴파일러와 비교해 볼 때 커다란 개선점을 줄 수 있음).