T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
MATLAB – Image Processing Toolbox Sergy´an Szabolcs Budapesti M˝ uszaki F˝ oiskola Neumann J´ anos Informatikai Kar
2007. november 12. Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
K´ep ´atm´eretez´ese imresize(A,m,method) Az A k´epet m-szeres´ere m´eretezi ´at. method ´ert´eke lehet: ’nearest’ (alap´ertelmezett) ’bilinear’ ’bicubic’
imresize(A,[mrows ncols],method) Az A k´epet u ´gy m´eretezi ´at, hogy az u ´j k´epnek mrows sz´am´ u sora, illetve ncols sz´am´ u oszlopa lesz.
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
K´ep elforgat´asa imrotate(A,angle,method,bbox) Az A k´epet elforgatja angle fokkal az ´oramutat´o j´ar´as´aval ellent´etes ir´anyban. method lehets´eges ´ert´ekei ugyanazok, mint az imresize f¨ uggv´enyn´el. bbox lehets´eges ´ert´ekei: ’crop’, az u ´j k´ep m´erete megegyezik az eredetivel ’loose’ (alap´ertelmezett), az u ´j k´ep az eg´esz elforgatott k´epet tartalmazza
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
K´epr´esz kiv´ag´asa imcrop(I,rect) Ha csak egy param´eterrel h´ıvjuk meg, akkor megjelen´ıti az I k´epet, amelyb˝ol eg´er seg´ıts´eg´evel kiv´aghatjuk egy t´eglalapba es˝ o r´esz´et. K´et param´eterrel h´ıvva rect egy n´egy elem˝ u vektor: [xmin ymin width height], mely megadja a kiv´agand´o t´eglalap adatait.
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Line´ aris sz˝ ur˝ ok Nemline´ aris sz˝ ur˝ ok
Line´aris sz˝ur´es imfilter(A,H,options) A az eredeti k´ep H a sz˝ ur˝ o maszk (m´ atrix) Hat´ ar opci´ ok: X (sz´ am), a hat´ aron k´ıv¨ uli pixelek X-szel lesznek helyettes´ıtve (X=0 az alap´ ertelmezett) ’symmetric’, a hat´ aron k´ıv¨ uli pixelek a hat´ arvonalra szimmetrikusan helyettes´ıt˝ odnek ’replicate’, a hat´ aron k´ıv¨ uli pixelek a hat´ arpixellel helyettes´ıt˝ odnek ’circular’, a hat´ aron k´ıv¨ uli pixelek u ´gy helyettes´ıt˝ odnek, mintha az eredeti k´ ep t¨ obbsz¨ or lenne peri´ odikusan egym´ as mellett
Kimeneti opci´ ok: ’same’ (alap´ ertelmezett), a kimeneti k´ ep m´ erete megegyezik az eredeti k´ ep m´ eret´ evel ’full’, a kimeneti k´ ep m´ erete a sz˝ ur´ es sz´ am´ıt´ asa sor´ an haszn´ alt ”teljes” k´ ep m´ eret´ evel lesz azonos
Korrel´ aci´ os ´es konvol´ uci´ os opci´ ok: ’corr’ (alap´ ertelmezett), korrel´ aci´ os sz˝ ur´ es ’conv’, konvol´ uci´ os sz˝ ur´ es
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Line´ aris sz˝ ur˝ ok Nemline´ aris sz˝ ur˝ ok
El˝ore defini´alt sz˝ur˝omaszkok fspecial(type,parameters) fspecial(’gaussian’,hsize,gamma) fspecial(’sobel’) fspecial(’prewitt’) fspecial(’laplacian’,alpha) fspecial(’log’,hsize,gamma) fspecial(’average’,hsize) fspecial(’disk’,radius) fspecial(’unsharp’,alpha) fspecial(’motion’,len,theta) Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Line´ aris sz˝ ur˝ ok Nemline´ aris sz˝ ur˝ ok
Rendez´es ut´ani sz˝ur´es ordfilt2(A,order,domain) A az eredeti k´ep m´atrixa domain 0-kat ´es 1-ket tartalmaz´o m´atrix, ez lesz a maszk a maszk ´altal lefedett pixelek intenzit´as´at n¨ovekv˝o sorrendbe rendezi ´es az order-ediket adja vissza medfilt2(A,[m n]) Medi´an sz˝ ur´est hajt v´egre A-n egy m×n m´eret˝ u maszkot haszn´alva A m´asodik param´eter opcion´alis, alap´ertelmez´ese [3 3] Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Line´ aris sz˝ ur˝ ok Nemline´ aris sz˝ ur˝ ok
Blokk m˝uveletek nlfilter(A,[m n],fun) Nem line´ aris sz˝ ur´ est hajt v´ egre A-n, m×n blokkokra megh´ıvva a fun f¨ uggv´ enyt fun egy u ´n. function handle blkproc(A,[m n],fun) Nem line´ aris sz˝ ur´ est hajt v´ egre A-n, de nem minden egyes pixelre, hanem csak minden egyes m×n m´ eret˝ u blokkra. Az u ´j k´ ep m´ erete a fun f¨ uggv´ enyt˝ ol f¨ ugg A hi´ anyz´ o pixeleket 0-vak helyettes´ıti colfilt(A,[m n],block type,fun) Ugyanazt hajtja v´ egre, mint az nlfilter, illetve a blkproc csak gyorsabban, de t¨ obb mem´ ori´ at haszn´ alva block type lehets´ eges ´ ert´ ekei: ’distinct’: blokkonk´ enti sz˝ ur´ es ’sliding’: pixelenk´ enti sz˝ ur´ es Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Morfol´ogiai oper´aci´ok imdilate(IM,SE) Az IM k´epen v´egrehajt egy dilat´aci´ot az SE (structuring element) maszkot haszn´alva imerode(IM,SE) Az IM k´epen v´egrehajt egy er´ozi´ot az SE (structuring element) maszkot haszn´alva
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Structuring element strel(shape,parameters) strel(’arbitrary’,NHOOD): az NHOOD m´atrixban megadott kimenetet ´all´ıtja el˝o strel(’ball’,R,H,N): ellipszoidot hoz l´etre strel(’diamond’,R): rombuszt ´all´ıt el˝o strel(’disk’,R,N): k¨ort hoz l´etre strel(’line’,LEN,DEG): szakaszt ´all´ıt el˝o strel(’octagon’,R): nyolcsz¨oget hoz l´etre strel(’pair’,OFFSET): k´et pontb´ol ´all´o kimenetet ad strel(’periodicline’,P,V): szagatott szakaszt ´all´ıt el˝o strel(’rectangle’,MN): t´eglalapot hoz l´etre strel(’square’,W): n´egyzetet ´all´ıt el˝o Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
¨ Osszef¨ ugg˝o komponens anal´ızis [L,num]=bwlabel(BW,n) A BW bin´aris k´ep feh´er pixelein v´egrehajt egy ¨osszef¨ ugg˝o komponens anal´ızist, 4- vagy 8-szomsz´eds´agot haszn´alva. A kimeneti L m´atrixban van t´arolva a num darab ¨osszef¨ ugg˝o komponens, mindegyik m´as pozit´ıv eg´esz sz´ammal jel¨olve.
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Hisztogram imhist(I,n) El˝ o´all´ıtja az I k´epm´atrix n v¨odr˝ u hisztogramj´at. histeq(I) Hisztogram kiegyenl´ıt´est v´egez az I k´epm´atrixon.
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
´ Elkeres´ es edge(I,method,parameters) edge(I,’sobel’,thresh) edge(I,’prewitt’,thresh) edge(I,’roberts’,thresh) edge(I,’log’,thresh,sigma) edge(I,’zerocross’,thresh,h) edge(I,’canny’,thresh,sigma)
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Hough transzform´aci´o [H,theta,rho]=hough(BW) Hough transzform´aci´ot hajt v´egre a BW bin´aris k´epen.
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox
T´ erbeli transzform´ aci´ ok Sz˝ ur¨ ok Morfol´ ogiai m˝ uveletek K´ ep anal´ızis ´ es er˝ os´ıt´ es
Intenzit´as kiegyenl´ıt´es imadjust(I,[lin hin],[lout hout],gamma) Gamma korrekci´ot hajt v´egre az I k´epm´atrixon.
Sergy´ an Szabolcs
MATLAB – Image Processing Toolbox