Procesarea Imagnlor - Laborator 4: Trăsătur geometrce ale obectelor bnare 1 4. Trăsătur geometrce ale obectelor bnare 4.1. Introducere În această lucrare sunt prezentate câteva trăsătur mportante ale obectelor bnare precum ş modul de calcul al acestora. Trăsăturle prezentate sunt ara, centrul de masă, axa de alungre, permetrul, factorul de subţere al obectulu, elongaţa ş proecţle obectulu bnar. 4.2. Consderaţ teoretce În urma operaţlor de segmentare ş etchetare a obectelor dn magnle dgtale se obţne o magne cu obecte care pot f referte dstnct. Obectul poate f descrs în magne de următoarea funcţe: Trăsăturle geometrce ale obectelor se pot clasfca în următoarele două categor: de pozţonare ş orentare: centrul de masă, ara, permetrul, axa de alungre; de formă: factorul de aspect, factorul de subţere, numărul Euler, proecţle, dametrele Feret ale obectelor 4.2.1. ra 1, dacă I( r, c) obectulu etchetat '' I ( r, c) 0 în celelalte cazur unde r [0... Heght 1]ş c[0... Wdth 1] H1W1 r0 c0 I ( r, c) ra este măsurată în pxel ş ndcă mărmea relatvă a obectulu. 4.2.2. Centrul de masă r 1 H1W1 r0 c0 ri ( r, c) c 1 H1W1 r0 c0 ci ( r, c) ceste formule corespund lne ş respectv coloane centrulu obectulu. ceastă propretate ajută la localzarea obectulu într-o magne bdmensonală. 4.2.3. xa de alungre (axa de nerţe mnmă / momentul de nerţe de ordn 2) tan(2 ) H1W1 2 ( r r )( c c ) I ( r, c) r0 c0 H 1 W 1 H 1 W 1 2 2 r0 c0 r0 c0 ( c c ) I ( r, c) ( r r ) I ( r, c)
2 Unverstatea Tehncă dn Cluj-Napoca, Catedra de Calculatoare Dacă atât numărătorul cât ş numtorul fracţe dn formula de ma sus sunt zero atunc obectul prezntă smetre crculară, orce dreaptă ce trece prn centrul de greutate fnd axă de smetre. stfel, pentru aflarea unghulu trebue aplcată funcţa arctangentă. ceastă funcţe este defntă pe domenul (-, + ) ş are valor în domenul (-π/2, π/2). Evaluarea aceste funcţ devne nstablă atunc când numtorul fracţe se aprope de 0. Totodată, semnele numtorulu ş numărătorulu sunt mportante pentru determnarea cadranulu corect în care se află rezultatul, dar funcţa arctangentă nu face dferenţa între drecţ dametral opuse. Dn acest motv se recomandă folosrea funcţe atan2, funcţe care a ca argumente numărătorul ş respectv numtorul une astfel de fracţ, ş returnează un rezultat în domenul (-π, π). ceastă propretate dă nformaţ despre orentarea obectulu. xa corespunde drecţe în jurul cărea obectul (văzut ca o suprafaţă plană de grosme constantă) se poate rot cel ma uşor (are momentul cnetc mnm). După ce unghul a fost determnat, se verfcă corecttudnea valor găste prn trasarea axe de alungre. xa de alungre va corespunde lne care trece prn centrul de masă al obectulu ș care face unghul cu axa Ox. 4.2.4. Permetrul Permetrul obectulu ne ajută să determnăm pozţa obectulu în spaţu ş detal despre forma lu. Permetrul poate f determnat prn numărarea pxellor de pe contur (pxel cu valoarea 1 care au cel puţn un pxel vecn de valoare 0). O prmă varantă de detecţe a conturulu ar f scanarea magn, lne cu lne, ş numărarea pxellor dn obect, care îndeplnesc condţa ma sus menţonată. Ca prncpal dezavantaj al aceste metode este faptul că nu putem face dstncţe între conturul exteror ş eventualele conturur nteroare (datorate găurlor dn obect). Deoarece pxel dn magnle dgtale sunt dstrbuţ după un rastru dreptunghular, lungmle curbelor ş ale dreptelor oblce nu pot f estmate corect prn numărarea pxellor. O prmă corecţe ar f înmulţrea permetrulu rezultat la algortmul precedent cu π/4. Exstă ş alte metode de corecţe a lungmlor care ţn seama de tpul de vecnătate folost (V4, V8 etc.) ltă metodă de detecţe a conturulu unu obect ar f detecţa muchlor sale folosnd un algortm de detecţe consacrat, subţerea acestora la grosme untară ş numărarea pxellor de muche rezultaţ. Metodele de tp chan-codes sunt metode ma complexe de detecţe a conturulu ş oferă acurateţe ma mare. 4.2.5. Factorul de subţere al obectulu (thnness rato) T 4 P 2 ceastă funcţe are valoarea maxmă 1, care corespunde cerculu. ceastă propretate poate f folostă pentru a vedea cât de rotund este un obect. Cu cât este ma aproape de 1 cu atât obectul este ma rotund. ceastă valoare dă ş nformaţ despre regulartatea obectulu.
Procesarea Imagnlor - Laborator 4: Trăsătur geometrce ale obectelor bnare 3 Obectele cu contur regulat au o valoare a raportulu ma mare decât obectele cu contur neregulat. Valoarea 1/T se numeşte factor de neregulartate al obectulu (sau factor de compacttate). 4.2.6. Elongaţa (factorul de aspect) ( aspect rato /elongaţe/excentrctate) ceastă mărme se determnă prn scanarea magn ş determnarea valorlor mnme ş maxme ale lnlor ş coloanelor ce formează dreptunghul crcumscrs obectulu. c R r max max c r mn mn 1 1 4.2.7. Proecţle obectulu bnar Proecţle ne dau nformaţ despre forma obectulu. Proecţa orzontală este egală cu suma pxellor pe ln, ar proecţa vertcală este egală cu suma pxellor pe coloane. W 1 h( r) I( r, c) c0 H 1 v( c) I( r, c) r0 Proecţa este utlă în programele de recunoaştere a scrsulu unde obectul care ne nteresează poate f normalzat. 4.3. Detal de mplementare Pentru a face dstncţe între dversele obecte prezente în magne vom consdera că fecare dntre ele este desenat cu o culoare dfertă. ceste culor pot f rezultatul une operaţ prealable de etchetare sau pot f generate manual (vez Fg. 4.1). Fg. 4.1 Exemplu de magne etchetată pe care pot f testaţ algortm descrş
4 Unverstatea Tehncă dn Cluj-Napoca, Catedra de Calculatoare Exstă ma multe abordăr pentru mplementarea extrager propretățlor geometrce: 4.3.1. Calcularea propretățlor geometrce pentru toate obectele dn magne, ca o sngură operațe Se vor dentfca pxel fecăru obect pe baza etchete (culor) unce ș se vor calcula trăsăturle geometrce. Se aplcă acest procedeu pentru fecare obect etchetat dn magne. 4.3.2. Calcularea propretățlor geometrce a unu anumt obect, selectat în prealabl cu ajutorul mouse-ulu Utlzatorul va selecta obectul dort prntr-un clck pe suprafața lu. Ca răspuns la această acţune se vor afșa la consolă trăsăturle geometrce dorte. Pentru a adăuga o metodă handler pentru evenmentul de clck se va folos funcța setmousecallback dn OpenCV care are rolul de a seta un handler pentru mouse pentru o anumtă fereastră. vod setmousecallback(const strng& wnname, MouseCallback onmouse, vod* userdata=0) wnname numele ferestre, onmouse numele funțe callback care va f apelată în momentul când apare un evenment de mouse n fereastra wnname, userdata parametru opțonal care poate f transms funcțe callback Se va mplementa ș funcța onmouse în care se vor mplementa operațle de calcul al trăsăsturlor. vod onmouse (nt event, nt x, nt y, nt flags, vod* param) event - este evenmentul de mouse, care poate avea următoarele valor: - EVENT_MOUSEMOVE - EVENT_LBUTTONDOWN - EVENT_RBUTTONDOWN - EVENT_MBUTTONDOWN - EVENT_LBUTTONUP - EVENT_RBUTTONUP - EVENT_MBUTTONUP - EVENT_LBUTTONDBLCLK - EVENT_RBUTTONDBLCLK - EVENT_MBUTTONDBLCLK x, y sunt coordonatele x ș y la care s-a produs evenmentul, flags corespunde unor condț specfce atunc când evenmentul se produce, param sunt parametr utlzator care se transmt dn funcța setmousecallback. În framework-ul OpenCVpplcaton_basc este prezentat un exemplu concret de handler la evenmentele de mouse în funcța testmouseclck(). Pentru trasarea axe de alungre, folosț funcța lne dn OpenCV: vod lne( Mat mg, Pont pstart, Pont pend, Scalar color, nt thckness ) mg magne în care se face desenarea pstart, pend cele două puncte între care se trasează lna color culoarea lne thckness grosmea lne
Procesarea Imagnlor - Laborator 4: Trăsătur geometrce ale obectelor bnare 5 4.4. ctvtăţ practce 1. Pentru un anumt obect, selectat prntr-un clck, dntr-o magne etchetată calculaț ara, centrul de masă, axa de alungre, permetrul, factorul de subţere ş elongaţa (factorul de aspect). a. fșaț valorle obțnute la consolă b. Într-o magne separată (cope a magn sursă): o Desenaț punctele de contur ale obectulu selectat o Desenaț centrul de masă al obectulu selectat o fșaț axa de alungre a obectulu selectat folosnd funcța lne dn OpenCV c. Calculaț ș afșaț într-o magne separată (cope a magn sursă) proecțle obectulu selectat 2. Creaț o funcțe nouă care, având ca ș magne sursă o magne etchetată, să păstreze în magnea destnațe doar acele obecte care: a. au ara < TH_are b. ș au o anumtă orentare ph, unde ph_low < ph < ph_high unde TH_are, ph_low, ph_high sunt ctte de la tastatură. 3. Salvaţ-vă ceea ce aţ lucrat. Utlzaţ aceeaş aplcaţe în laboratoarele vtoare. La sfârştul laboratorulu de procesare a magnlor va trebu să prezentaţ propra aplcaţe cu algortm mplementaţ!!! Refernţe [1]. Umbaugh Scot E, Computer Vson and Image Processng, Prentce Hall, NJ, 1998, ISBN 0-13-264599-8