piątek, 1 sierpnia 2008

OpenCV

Pisałem już o bibliotekach 2D oraz 3D, natomiast dzisiaj przyszła kolej na obsługę wideo. W tym zakresie nie mam dużego doświadczenia, ale nie trzeba było długo szukać w Internecie, aby ocenić, która biblioteka jest najpopularniejsza i jakich ma konkurentów. W kategorii 'Analiza obrazu w czasie rzeczywistym' wyraźnie na prowadzenie wysuwa się OpenCV - narzędzie opracowane i udostępnione na licencji BSD przez firmę Intel.

Zastanówmy się teraz, czy ogromna popularność biblioteki przekłada się na jej jakość. Pierwszym czynnikiem, który może o tym świadczyć, jest duża ilość obsługiwanych kamer - wystarczy tania kamerka internetowa, aby napisać swój pierwszy program. Następnym czynnikiem jest szybkość działania. Biblioteka OpenCV została zoptymalizowana, żeby działać w czasie rzeczywistym i w zdecydowanej większości przypadków się sprawdza. Świadczyć może o tym m.in. częste jej stosowanie do sterowania robotami. Ważną cechą OpenCV jest również to, że posiada bogaty zestaw wbudowanych funkcji przetwarzania obrazu, zarówno tych podstawowych (filtracje, wykrywanie krawędzi, operacje morfologiczne), jak i bardziej złożonych (detekcja obiektów, analiza ruchu).

Co do konkurencyjnych bibliotek, trudno mi wskazać taką, która miałaby chociaż część funkcjonalności OpenCV.

Materiały:

2 komentarze:

matteoosh pisze...

Biblioteka OpenCv jest bardzo potężnym narzędziem. Co prawda brakuje spójnej, dobrej, rzeczowej dokumentacji na jej temat, jak również niektóre poduły przestały być rozwijane. Na którymś forum doszukałem się nawet informacji, że projekt został zarzucony. Korzystanie z tej biblioteki nie sprawia jednak większych problemów. Wiadomo, język C++ jest wymagającym przeciwnikiem, ale stosując się do ogólnie przyjętych norm porgramowania obiektowego, łatwo napisać program w C++ i OpenCV i potem się w nim nie "zgubić". Na zakończenie jeszcze dodam, że integracja OpenCv zarówno z Borlandowym DeveloperSudio jak i z MS VisualC++ 2005 nie sprawia większych problemów.

kwesoly pisze...

Projekt wciąż się rozwija i wciąż ma problem z dokumentacją :)

Krótki opis jak w kolejny sposób uruchomić go pod systemem Windows:
http://kwesoly.net/programowanie/cpp/opencv-2-0-windows/

Prześlij komentarz