Krótki wstęp do biblioteki OpenCV. Jak wykorzystać kamerkę internetową do przetwarzania obrazów.



Podobne dokumenty
VinCent Office. Moduł Drukarki Fiskalnej

InsERT GT Własne COM 1.0

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników.

Konfiguracja historii plików

System do kontroli i analizy wydawanych posiłków

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

1 Temat: Wprowadzenie do biblioteki OpenCV

Microsoft Management Console

elektroniczna Platforma Usług Administracji Publicznej

SFML. (Simple and Fast Multimedia Library)

Linux LAMP, czyli Apache, Php i MySQL

Systemy mikroprocesorowe - projekt

Instalacja programu. Omówienie programu. Jesteś tu: Bossa.pl

Opis instalacji systemu Intranet Komunikator

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

PERSON Kraków

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki

Zarządzanie Zasobami by CTI. Instrukcja

Jak zaprogramować procesor i. wgrać firmwar-e do yampp3usb. Copyright SOFT COM sp. z o. o.

STRONA GŁÓWNA SPIS TREŚCI. Zarządzanie zawartością stron... 2 Tworzenie nowej strony... 4 Zakładka... 4 Prawa kolumna... 9

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Instalacja Plugin. Rys. 1. Folder Plugin.

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

I. Zakładanie nowego konta użytkownika.

Generator obrazu transakcji fiskalnych, FG-40

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Bazy danych. Andrzej Łachwa, UJ, /15

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

Archiwum Prac Dyplomowych

Skitch for Android Instrukcja obsługi 2012 Evernote Corporation Wszelkie prawa zastrzeżone Opublikowano: Jun 19, 2012

db powernet Instalacja czytnika kart mikroprocesorowych (instrukcja)

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Instrukcja instalacji oprogramowania TSG wer. 5.0 z dost pem do danych poprzez sie Internet.

PODRĘCZNIK UŻYTKOWNIKA

Dokumentacja użytkownika aplikacji mobilna Aplikacja Uczestnika Gry Miejskiej

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Adapter USB do CB32. MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax lub kom e mail: info@mdh-system.pl

Excel w logistyce - czyli jak skrócić czas przygotowywania danych i podnieść efektywność analiz logistycznych

Informacje o omawianym programie. Założenia programu omawianego w przykładzie

Tomasz Greszata - Koszalin

OPIS PRZEDMIOTU ZAMÓWIENIA:

Jak skonfigurowad Media Gallery do obsługi sterowania gestami

Przeniesienie lekcji SITA z płyt CD na ipoda touch

System kontroli wersji SVN

Centralizacji Systemu. Procedury zasilania danymi systemu LAS oprogramowania do aktualizacji LMN. etap C13 pkt 5

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Logowanie do mobilnego systemu CUI i autoryzacja kodami SMS

Poniżej instrukcja użytkowania platformy

Instrukcja wgrywania synoptyki pola (wersja modelu danych do 634)

PFR Wstępnie wypełnione zeznanie podatkowe. PIT-37 i PIT-38 za rok 2015

Część II SIWZ: Szczegółowy Opis Przedmiotu zamówienia

Pierwsze logowanie do systemu I-Bank

Wtedy wystarczy wybrać właściwego Taga z listy.

gra miejska, Instrument aktywizacji społecznej, element w procesie budowy społeczeństwa obywatelskiego, silny argument przy dyskusji budżetowej.

INSTRUKCJA WebPTB 1.0

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Instrukcja obsługi. Sterownik ścienny KJR10B/DP

Aktualizacja oprogramowania na urządzeniach Garmin

Automatyzacja procesu publikowania w bibliotece cyfrowej

Mądrym być to wielka sztuka, ale dobrym jeszcze większa. K o r n e l M a k u s z y ń s k i

Instrukcja instalacji programu Plantator oraz transferu pliku danych z/do PC kolektor danych PT-20

Automatyczne spisy. Wojciech Myszka, Maciej Panek Październik 2014

2. Przedstawionym ikonom paska formatowania edytora tekstu (A D) przyporzadkuj ich funkcje (1 5). Wpisz odpowiednie

Generowanie kodów NC w środowisku Autodesk Inventor 2014

Podstawa programowa kształcenia ogólnego informatyki w gimnazjum

UMOWA Nr. , z siedzibą, NIP, REGON., na podstawie, zwanym dalej Wykonawcą,

Jak korzystać z Group Tracks w programie Cubase na przykładzie EWQLSO Platinum (Pro)

OmniTouch 8400 Instant Communications Suite 4980 Softphone

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

JADWIGA SKIMINA PUBLIKACJA NA TEMAT: NAUKA MS. WORD 2000 W KLASIE IV

Instrukcja logowania do aplikacji ING Agent

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

Chillout w pracy. Nowatorska koncepcja

Wizualizacja danych sensorycznych. Rozpoznawanie podstawowych figur geometrycznych z wykorzystaniem kamerki internetowej.

Platforma Aukcyjna Marketplanet. Podręcznik Oferenta. Aukcja dynamiczna zniŝkowa

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

yoyo ver. 6.0

Finansujący: Narodowy Fundusz Ochrony Środowiska i Gospodarki Wodnej w Warszawie

Projekt Runeberg internetowe centrum literatury nordyckiej.

Biblioteka AutoCad V 5.0 Poradnik uŝytkownika

Użytkowanie elektronicznego dziennika UONET PLUS.

Ekran startowy płyty instalacyjnej umozliwia nam wybór

Kopia zapasowa i odzyskiwanie Podręcznik użytkownika

SpedCust 5 instrukcja instalacji

Bagaż w samolocie mały wielki kłopot

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI

Platforma zamówień personelu JOBMAN.pl

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Spis treści. 1. Transcend SSD18C3 128GB Testy Podsumowanie Koniec spisu treści - Realitynet.pl - przystępnie o komputerach

SAMOCHODOWA KAMERA HD

DJCONTROL INSTINCT I DJUCED PIERWSZE KROKI

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

mgr Jolanta Kruszyńska Temat: Tworzenie kartki świątecznej wykorzystanie programu Paint.

Akademia Rodzinnych Finansów

e-dziekanat Instrukcja użytkownika dydaktyk

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

Transkrypt:

Krótki wstęp do biblioteki OpenCV. Jak wykorzystać kamerkę internetową do przetwarzania obrazów. Wrocław, 13.10.2008r. Autor: Filip Romanowski (140401@student.pwr.wroc.pl)

1. Wstęp.... 3 2. Instalacja kamerki internetowej.... 3 3. Instalacja biblioteki OpenCV... 3 4. Pierwszy program.... 3 5. Przykładowa aplikacja.... 5 6. Linki... 6

1. Wstęp. Biblioteka OpenCV, czyli Open Source Computer Vision Library została napisana w języku C/C++ i jest jedną z najlepszych darmowych bibliotek do przetwarzania obrazów. Posiada ona ogromne moŝliwości. Jest ona zoptymalizowana pod kątem operacji w czasie rzeczywistym. Posiada własny system zarządzania okienkami, niezaleŝny od systemu operacyjnego. Biblioteka posiada wiele przydatnych funkcji, pozwalających m.in. na: przechwytywanie strumieni obrazów z kamer; pobieranie z tychŝe strumieni obrazów pojedynczych klatek; zapis /odczyt strumieni obrazów a takŝe pojedynczych klatek na/z dysku; wykonywanie róŝnych operacji na obrazach (operacje logiczne, splot, zmiana przestrzeni kolorów, np. BGR HSV); wyświetlanie wyników transformacji w oknach; rysowanie w oknach zarówno figur geometrycznych jak i dowolnych kształtów; reagowanie na zdarzenia od klawiatury oraz myszy. Biblioteka ta w połączeniu z tanią kamerką internetową pozwala na ciekawe eksperymenty nie tylko z obrazami zapisanymi na dysku, ale takŝe na o wiele ciekawsze operacje na obrazie pobieranym w czasie rzeczywistym z kamerki internetowej. 2. Instalacja kamerki internetowej. Do eksperymentów wybrano kamerkę internetową firmy AVer Media, model TC-300, ze względu na niską cenę (zakupiono uzywany egzemplarz za 10zł na jednym z popularnych serwisów aukcyjnych). MoŜna jednak smiało powiedzieć, Ŝe kaŝda kamerka internetowa z interfejsem USB będzie się nadawała. Po zainstalowaniu sterowników (czasami jest spory problem ze znaleznieniem sterowników jeśli sprzedający nie dostarczył ich wraz z urządzeniem; naleŝy wziąć to pod uwagę), moŝna sprawdzić czy kamerka działa poprawnie. Aby to zrobić instalujemy program do monitoringu pomieszczeń Ferro CCTV 2.2, którego demo (2.2 MB) moŝemy bezpłatnie pobrać z internetu. Po uruchomieniu programu i odpowiednim skonfigurowaniu, w oknie powinien pojawić się obraz z naszej kamery. 3. Instalacja biblioteki OpenCV. Cały proces instalacji biblioteki zarówno w systemie Windows jak i Linux został dokładnie opisany w [3]. Jest tam pokazane jak rozpocząć tworzenie projektów przy uŝyciu róŝnych środowisk (tj. Visual C++, C++ Builder, Eclipse itd.). Niestety w momencie tworzenia tego raportu strona [3] była nie w pełni dostępna. Dla potrzeb niniejszego raportu wykorzystano DevCpp (jak połączyć DevCpp z OpenCV opisano w [9]). 4. Pierwszy program. Jako Ŝe raport ten ma na celu pokazanie moŝliwości biblioteki OpenCV, pominięto budowę interfejsu graficznego, pozostając przy prostym interfejsie tekstowym (konsola). Sprawę odpowiedniego interfejsu, który z pewnością ułatwia pracę z programem, pozostawiono czytelnikowi. Po poprawnym zainstalowaniu biblioteki OpenCV, oraz skonfigurowaniu środowiska programistycznego DevCpp, moŝna sprawdzić poprawnośc wykonanych czynności kompilując przykładowy program. W programie DevCpp otwieramy jeden z przykładowych programów jakie zawiera instalacja biblioteki OpenCV (np. program minarea, znajdujący się w folderze C:\Program Files\OpenCV\samples\c. Po skompilowaniu i uruchomieniu programu ekran komputera przedstawia się jak na ryc.1.

Ryc. 1 Uruchomiony program minarea W oknie tym widać w tle edytor środowiska DevCpp, ponad tym znajduje się konsola tekstowa, a na samym wierzchu jest okno zarządzane przez bibliotekę OpenCV w którym moŝemy wyświetlać porządane obrazy. Nadszedł teraz moment kiedy moŝna wreszcie skorzystać z kamerki internetowej. Program przedstawiony na listingu 1 jest najprostszym chyba sposobem wyświetlenia tego co udostępnia nam kamerka internetowa w oknie tworzonym przez bibliotekę OpenCV. Przed uruchomieniem programu naleŝy oczywiście pamiętać o włączeniu kamerki. Wynik tego programu widać na ryc. 2 zamieszczonej ponizej. Ryc. 2 Ekran z uruchomionym programem z listingu 1

Listing 1 #include "cv.h" #include "highgui.h" #include <stdio.h> // A Simple Camera Capture Framework int main() { // Zainicjowanie przechwycenia strumienia video CvCapture* capture = cvcapturefromcam( CV_CAP_ANY ); if(!capture ) { fprintf( stderr, "ERROR: capture is NULL \n" ); getchar(); return -1; // Stworzenie okna w którym przechwycone obrazy będą wyświetlane cvnamedwindow( "Kamera_internetowa", CV_WINDOW_AUTOSIZE ); // Wyświetlenie w powyŝszym oknie przechwyconej klatki strumienia // wszystko odbywa się w nieskończonej petli while while( 1 ) { // Pobierz jedna klatke ze strumienia IplImage* frame = cvqueryframe( capture ); if(!frame ) { fprintf( stderr, "ERROR: frame is null...\n" ); getchar(); break; // Wyświetl pobraną klatkę cvshowimage( "Kamera_internetowa", frame ); // Oczekiwanie przez 10 ms na wcisniecie klawisza ESC (kod ASCII 27) // jeśli klawisz zostanie nacisniety, wtedy program wyskakuje // z nieskonczonej petli i konczy dzialanie if( cvwaitkey(10) == 27 ) break; // Zwalnia strumien video pochodzacy z kamery cvreleasecapture( &capture ); // Niszczy okno cvdestroywindow( "Kamera_internetowa" ); return 0; Wiadomo juŝ jak wyświetlić obraz z kamerki na ekranie. Aby przetworzyć obraz polecam sięgnąć do zamieszczonych na końcu raportu linków gdzie zamieszczone są przykładowe programy, które w ciekawy sposób pokazują techniki przetwarzania obrazów. 5. Przykładowa aplikacja. Przykładem wykorzystania biblioteki OpenCV jest aplikacja opisana w raporcie [8] Rozpoznawanie niektórych znaków polskiego jednoręcznego alfabetu palcowego, powstałym na zaliczenie przedmiotu Metody i algorytmy sztucznej inteligencji, prowadzonego przez dra inŝ. Witolda Paluszyńskiego w semestrze letnim roku akademickiego 2007/2008 na Politechnice Wrocławskiej. Był to pierwszy program napisany przez autora przy uŝyciu biblioteki OpenCv, dlatego nie wszystko działało tak jak powinno, niemniej efekt był zadowalający.

6. Linki. [1] http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/index.html [2] http://www.site.uottawa.ca/~laganier/tutorial/opencv+directshow/ [3] opencvlibrary.sourceforge.net [4] http://www.xpercept.com/opencv.htm [5] http://www.seas.upenn.edu/~bensapp/opencvdocs/ref/opencvref_cv.htm [6] http://www710.univ-lyon1.fr/~bouakaz/opencv-0.9.5/docs/ref/opencvref_imageprocessing.htm [7] http://vision.cis.udel.edu/opencv/ref/opencvref_highgui.htm [8] http://sequoia.ict.pwr.wroc.pl/~witold/aiarr/2008_projekty/palcowy/#8 [9] http://www.cypax.net/tutorials/opencv/index?language=en