OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem
OpenCV • Nyílt forráskódú szoftver (BSD licensz) • Számítógépes látás, képfeldolgozás • Gépi tanulás • >2500 optimalizált algoritmus • Szűrések, élkeresés, hisztogram, Hough-transzformáció, … • Arcdetekciós és –felismerés, mozgásosztályozás, objektumok követése, panorámakép készítés, képtartalom-alapú keresés, … • Többféle platform és programozási nyelv • >15 év fejlesztés, számos közreműködő (1999 óta) • Intel → Willow Garage → Itseez • 2009: OpenCV 2 • C++ sablon (template) interfész
• Python, Matlab, Java kötések • CUDA és OpenCL optimalizáció • Windows, Linux, Mac OS, Android, iOS verziók
Anyagok • Hivatalos honlap és letöltés • http://opencv.org/ (Általános) • Dokumentáció • http://docs.opencv.org/ • Képműveletek • http://docs.opencv.org/doc/user_guide/ug_mat.html
• Könyv • Pratical OpenCV (angolul) • http://www.apress.com/9781430260790?gtmf=f • Forráskód letölthető • OpenCV Computer Vision Application Programming
Cookbook (2nd Edition) • https://www.packtpub.com/application-development/opencv-3-
computer-vision-application-programming-cookbook • Klebelsberg könyvtárban elérhető eBook
OpenCV verziók • OpenCV 2 • 2.4.11 stabil verzió • C++ függvénykönyvtár
• OpenCV 3 • 3.1 stabil verzió • Kompatibilitási problémák a 2-es verzióval
OpenCV használat • OpenCV telepítése • Bináris formában • Forráskód fordítása
• Használat saját programban • Fordítás CMake segítségével • Grafikus felületbe integrálás • HighGUI • Saját, platformfüggetlen megoldás ablakozásra, interakcióra • Kevesebb lehetőség, de egyszerű használat
• Más, magas szintű könyvtárak • Pl. Qt
Bináris telepítés • Ubuntu Linux • apt-get segédprogrammal az OpenCV csomagjai telepíthetők • Windows • Töltsük le a bináris csomagot a hivatalos honlapról • Futtassuk a telepítőt • Az általunk megadott mappába kicsomagolja, mást nem csinál
• Rendszerváltozó definiálás • CMAKE_PREFIX_PATH beállítása az OpenCV build könyvtárára • OpenCV build\x86\vc..\bin felvétele a PATH-ra • vc10 (Visual Studio 2010), vc11 (2012), vc12 (2013) verziókhoz van előre lefordított változat
Fordítás • CMake segédprogrammal • www.cmake.org • Fordítási környezet generálása platformfüggetlen könyvtárakhoz • Nem csak OpenCV!
• Támogatja többek között a Linux Makefile-okat, valamint a Microsoft
Visual Studio többféle változatát • cmake-gui program futtatása • CMakeLists.txt konfigurációs fájlok • Fordítás • A generált natív projektfájlok segítségével
Fordítás • cmake-gui • Projekt elérési útvonalak beállítása • Célszerű saját új build könyvtárat létrehozni
• Konfigurálás • Szükséges függvénykönyvtárak keresése • Fordító képességeinek ellenőrzése
• Generálás • Makefile-ok, VS Solution fájlok előállítása
cmake-gui
CMakeLists.txt példa cmake_minimum_required(VERSION 2.8) PROJECT( PortlandCar ) FIND_PACKAGE( OpenCV REQUIRED )
ADD_EXECUTABLE( portland_detector portland_detector.cxx thresholder.h ) TARGET_LINK_LIBRARIES( portland_detector ${OpenCV_LIBS} ) ADD_EXECUTABLE( portland_np_selector portland_np_selector.cxx ) TARGET_LINK_LIBRARIES( portland_np_selector ${OpenCV_LIBS} ) ADD_EXECUTABLE( portland_manual_crop portland_manual_crop.cxx ) TARGET_LINK_LIBRARIES( portland_manual_crop ${OpenCV_LIBS} ) ADD_EXECUTABLE( portland_search_img portland_search_img.cxx ) TARGET_LINK_LIBRARIES( portland_search_img ${OpenCV_LIBS} )
Alkönyvtárak hozzáadása cmake_minimum_required(VERSION 2.8) PROJECT( PracticalOpenCV ) FIND_PACKAGE( OpenCV REQUIRED ) add_subdirectory(chapter2) add_subdirectory(chapter4)
chapter4 CMakeLists.txt tartalma ADD_EXECUTABLE( code4-1 code4-1.cpp ) TARGET_LINK_LIBRARIES( code4-1 ${OpenCV_LIBS} ) ADD_EXECUTABLE( code4-2 code4-2.cpp ) TARGET_LINK_LIBRARIES( code4-2 ${OpenCV_LIBS} ) ADD_EXECUTABLE( code4-3 code4-3.cpp ) TARGET_LINK_LIBRARIES( code4-3 ${OpenCV_LIBS} ) ADD_EXECUTABLE( code4-4 code4-4.cpp ) TARGET_LINK_LIBRARIES( code4-4 ${OpenCV_LIBS} ) ADD_EXECUTABLE( code4-5 code4-5.cpp ) TARGET_LINK_LIBRARIES( code4-5 ${OpenCV_LIBS} )
Példaprogramok tesztelése • cv_test1 példaprogram fordítása és futtatása • C:\OpenCVDev könyvtár létrehozása • Test1 könyvtár létrehozása ezen belül • cv_test1.cxx és CMakeFiles.txt bemásolása • build könyvtár létrehozása Test1 könyvtárban • cmake-gui futtatása • build\cvtest1_proj.sln megnyitása és fordítása (CTRL+Shift+B) • Futtatható fájl a build\Debug könyvtárban található • Ide másoljuk be az OpenCV_Logo_with_text.png képet • Parancssorból futtassuk, paraméterként megadva a kép nevét!