Basic tutorial to Cv4Logo

V tejto stati stručne opíšeme použitie komponentu CV4Logo v Imagine Logu. Po úspešnom vytvorení objeku sa vytvorí aj okno s obrazom, ktoré môžeme zobraziť, alebo skryť a určiť, čo v ňom má byť - napr. obraz z prvej nájdenej kamery:
    new "oleobject [comname cv4logo name cv]
    cv'show cv'hide cv'show
    cv'source "cam 0
alebo videosekvencia:
    cv'source "avi "hello.avi
prípadne statický obrázok:
    cv'source "file "tomas.jpg
ktorý môže byť downloadnutý aj z Internetu (ak sme na sieti):
    cv'source "url "|http://www.bioinformatics.uwaterloo.ca/~tvinar/tomas.jpg|
Ak sa obrázkový súbor mení a chceme, aby sa menil i v našom okne, použijeme:
    cv'source "livefile "tomas.jpg
alebo:
    cv'source "liveurl "|http://www.uakom.sk/kamera/jpeg/bbb.jpg|
Rýchlosť aktualizácie môžeme určiť podľa potreby:
    cv'updaterate 10   ; 10-krát za sekundu
Komopnent umožňuje rozpoznávať tváre (alebo iné charakteristické vzory podľa natrénovaného predpisu):

Rozpoznávanie zapneme, vypneme a zoznam tvárí získame pomocou:

    cv'tracking "on	  cv'tracking "off  	print first parse cv'getfaces
Takýmto spôsobom sa dá riadiť robot:

pričom Cv4Logo sleduje polohu tváre a podľa jej zmeny stanovuje polohu robota. Zmeniť popis rozpoznávaného vzoru možno pomocou príkazu:

    cv'trackingparameters
      "|haarcascades\haarcascade_upperbody.xml|     ; resp. iný súbor so vzorom
Ak obraz obsahuje scénu s kontrastnými mnohouholníkmi, napr.

môžeme ich nájsť pomocou:

    print cv'detectpoly "false   ; pričom detekcia prebehne podľa parametrov, ktoré sa dajú nastaviť:
    cv'detectpolyparam threshold sensitivity minperimeter maxperimeter
kde threshold udáva rozhranie medzi bielou a čiernou, sensitivity určuje aká malá strana relatívne k vežkosti mnohouholníka sa má brať v úvahu, minperimeter a maxperimeter určuje prípustný interval pre rozmery hžadaných monohouhožníkov. Obraz z bežných kamier nie je rovnomerný, ale natiahnutý, pričom rovné priamky sa zobrazujú do kriviek. Ak chceme obraz využiť na presnejšie informácie o prostredí (napríklad pre lokalizáciu robota alebo pre určenie rozmerov v geometrickej úlohe), kameru je potrebné nakalibrovať:

Sada príkazov obsluhuje kalibráciu a orezanie obrazu podľa štandardných algoritmov. Aktuálny obraz sa dá uložiť do súboru alebo do pamäte na neskoršie vyvolanie a použitie. Lokálne prístupný obraz (napríklad z USB kamery) môže používateľ sprístupniť ostatným staniciam na lokálnej sieti alebo na Internete. Po zapnutí obrazového servera:

    cv'frameserver "on
Môže vzdialený používateľ preberať ten istý obraz tak, že ako svoj zdroj určí IP-adresu obrazového servera:
    cv'source "remote "192.168.145.146
Okrem toho si používatelia môžu posielať správy v režime klient-server: Server:
    make "servId cv'listen 12345		; alebo iné číslo portu
Klient:
    make "connId cv'connect "192.168.145.62 12345
Server:
    make "client1 cv'accept :servId
A ďalej rovnocenne z oboch strán:
    cv'send connection_id message
    print cv'receive :connId
Napríklad:
    cv'send :client1 "hello
    cv'send :connId "hiThere!
    print cv'receive :client1
Pozrite si ReadMe.txt s podrobným popisom komopnentu Cv4Logo.