You are on page 1of 13

27/03/2013

Cc hm x l nh trong matlab
UserName
Remember Me

Login

Forgot password? || Register !


Viet Nam

English

HOME Trang Ch DANH MUC SAN PHAM Shop Development Kit Peripheral Modules ROBOCON Equipments Programmer/Debugger Education Robot Products DC Servo Motor Ph kin - Spare part All

PRODUCTS

R&D LABS Nghin Cu

VIDEO DEMO H-Lab On Youtube

CONTACT Lin H

Cc hm x l nh trong matlab
SATURDAY, 13 AUGUST 2011 17:02 ADMINISTRATOR

14 likes
There are no translations available.

2 dislikes

Trong phn ny chng ta s tm hiu v cc hm x l nh trong matlab. Nh chng ta bit, matlab l mt ngn ng rt mnh v h tr rt tt cc thao tc lm vic trn nh. V vy vic s dng matlab cho cc ng dng x l nh gn nh l la chn hng u cho nhng ai mun thc hin cc thut ton x l trn phn mm.

Xem Ph n 1 : Gii thi u v matlab v x l nh


Cc kiu nh trong Matlab

R&D LABS FPGA/ASIC RESEARCH DSP RESEARCH MCU APPLICATION EMBEDDED SYSTEM AUTOMATIC SYSTEMS SUPPORT ROBOCON BASIC MCU/DSP/FPGA NGHIN CU / TI DOCUMENT DOWNLOAD COMMENT LATEST file testbench vit ring. fi... Anh i, my code ny u gp t... Minh da updated lai roi nha ad lam on check lai link nhe, ... sao minh download ko dc vay ??

a) nh c nh ch s (Indexed Images) Mt nh ch s bao gm mt ma trn d liu X v ma trn bn mu map. Ma trn d liu c th c kiu thuc lp uint8, uint16 hoc kiu double. Ma trn bn mu l mt mng mx3 kiu double bao gm cc gi tr du phy ng nm gia 0 v 1. Mi hng ca bn ch ra cc gi tr m: red, green v blue ca mt mu n. Mt nh ch s s dng nh x trc tip gia gi tr ca pixel nh ti gi tr trong bn mu. Mu sc ca mi pixel nh c tnh ton bng cch s dng gi tr tng ng ca X nh x ti mt gi tr ch s ca map. Gi tr 1 ch ra hng u tin, gi tr 2 ch ra hng th hai trong bn mu Mt bn mu thng c cha cng vi nh ch s v c t ng np cng vi nh khi s dng hm imread c nh. Tuy nhin, ta khng b gii hn khi s dng bn mu mc nh, ta c th s dng bt k bn mu no. b) nh cng (Intensity Images) Mt nh cng l mt ma trn d liu nh I m gi tr ca n i din cho cng trong mt s vng no ca nh. Matlab cha mt nh cng nh mt ma trn n, vi mi phn t ca ma trn tng ng vi mt pixel ca nh. Ma trn c th thuc lp double, uint8 hay uint16. Trong khi nh cng him khi c lu vi bn mu, Matlab s dng bn mu hin th chng. Nhng phn t trong ma trn cng i din cho cc cng khc nhau hoc xm. Nhng im c cng bng 0 thng c i din bng mu en v cng 1,255 hoc 65535 thng i din cho cng cao nht hay mu trng. c) nh nh phn (Binary Images) Trong mt nh nh phn, mi pixel ch c th cha mt trong hai gi tr nh phn 0 hoc 1. Hai gi tr ny tng ng vi bt hoc tt (on hoc off). Mt nh nh phn c lu tr nh mt mng logic ca 0 v 1. d) nh RGB (RGB Images) Mt nh RGB - thng c gi l true-color, c lu tr trong Matlab di dng mt mng d liu c kch thc 3 chiu mxnx3 nh ngha cc gi tr mu red, green v blue cho mi pixel ring bit. nh RGB khng s dng palette. Mu ca mi pixel c quyt nh bi s kt hp gia cc gi tr R, G, B (Red, Green, Blue) c lu tr trong mt mt phng mu ti v tr ca pixel. nh dng file ho lu tr nh RGB ging nh mt nh 24 bits trong R, G, B chim tng ng 8 bit mt. iu ny cho php nhn c 16 triu mu khc nhau. Mt mng RGB c th thuc lp double, uint8 hoc uint16. Trong mt mng RGB thuc lp double, mi thnh phn mu c gi tr gia 0 v 1. Mt pixel m thnh phn mu ca n l (0, 0, 0) c hin th vi mu en v mt pixel m thnh phn mu l (1, 1, 1 ) c hin th vi mu trng. Ba thnh phn mu ca mi pixel c lu tr cng vi chiu th 3 ca mng d liu. Chng hn, gi tr mu R, G, B ca pixel (10, 5) c lu tr trong RGB(10, 5, 1), RGB(10, 5, 2) v RGB(10, 5, 3) tng ng. tnh ton mu sc ca pixel ti hng 2 v ct 3 chng hn, ta nhn vo b ba gi tr c lu tr trong (2, 3, 1:3). Gi s (2, 3, 1) cha gi tr 0.5176; (2, 3, 2) cha gi tr 0.1608 v (2, 3, 3) cha gi tr 0.0627 th mu sc ca pixel ti (2, 3) s l (0.5176, 0.1608, 0.0627).

Cc hm x l nh c bn trong Matlab
a) c v ghi d liu nh c mt nh ho - Hm imread c mt nh t bt k nh dng no c tr gip trong bt k chiu su bit no c tr gip. Hu ht cc file nh s dng 8 bit cha gi tr ca pixel. Khi chng c c vo b nh, Matlab cha chng di dng uint8. Vi cc file tr gip 16 bt d liu, PNG v TIFF, Matlab cha chng di dng uint16. Ch : Vi nh ch s, imread lun lun c bn mu vo trong mt chui thuc lp double, thm ch mng nh t n thuc lp uint8 hay uint16 - Chng hn, on m sau s c mt nh RGB vo khng gian lm vic ca Matlab lu trong bin RGB.

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

1/13

27/03/2013
R G B = i m r e a d ( f o o t b a l l . j p g ) ;

Cc hm x l nh trong matlab

Trong v d ny, imread s nhn ra nh dng file s dng t tn file. Ta cng c th ch ra nh dng file nh mt tham s trong hm imread. Matlab tr gip rt nhiu nh dng ho thng dng chng hn: BMP, GIF, JPEG, PNG, TIFF bit thm cc kiu gi hm v tham s truyn vo, xem tr gip online ca Matlab. c nhiu nh t mt file ho - Matlab tr gip mt s nh dng file ho chng hn nh: HDF v TIFF, chng cha nhiu nh. Theo mc nh, imread ch tr gip nh u tin trong file. nhp thm cc nh t file, s dng c php c tr gip bi nh dng file. Chng hn, khi c s dng vi TIFF, ta c th s dng mt gi tr ch s vi imread ch ra nh m ta mun nhp vo. V d sau y c mt chui 27 nh t mt file TIFF v lu nhng nh ny trong mt mng 4 chiu. Ta c th s dng hm iminfo xem bao nhiu nh c lu tr trong file: m r i=u i n t 8 ( z e r o s ( 1 2 8 , 1 2 8 , 1 , 2 7 ) ) ;%p r e a l l o c a t e4 Da r r a y f o rf r a m e = 1 : 2 7 [ m r i ( : , : , : , f r a m e ) , m a p ]=i m r e a d ( ' m r i . t i f ' , f r a m e ) ; E n d

- Khi file cha nhiu nh theo mt s kiu nht nh chng hn theo th t thi gian, ta c th lu nh trong Matlab di dng mng 4 chiu. Tt c cc nh phi c cng kch thc. Ghi mt nh ho - Hm imwrite s ghi mt nh ti mt file ho di mt trong cc nh dng c tr gip. Cu trc c bn nht ca imwrite s yu cu mt bin nh v tn file. Nu ta gp mt phn m rng trong tn file, Matlab s nhn ra nh dng mong mun t n. V d sau ti mt nh ch s X t mt file Map vi bn mu kt hp vi n map sau ghi nh xung mt file bitmap. l o a dc l o w n w h o s N a m e S i z e X 2 0 0 x 3 2 0 c a p t i o n 2 x 1

B y t e s C l a s s 5 1 2 0 0 0 d o u b l ea r r a y 4 c h a ra r r a y

m a p 8 1 x 3 1 9 4 4 d o u b l ea r r a y G r a n dt o t a li s6 4 2 4 5e l e m e n t su s i n g5 1 3 9 4 8b y t e s i m w r i t e ( X , m a p , ' c l o w n . b m p ' )

Ch ra nh dng ph - Tham s c bit - Khi s dng imwrite vi mt s nh dng ho, ta c th ch ra cc tham s ph. Chng hn, vi nh dng PNG ta c th ch ra su bit nh mt tham s ph. V d sau s chi mt nh cng I vi mt file nh 4 bit PNG. i m w r i t e ( I , ' c l o w n . p n g ' , ' B i t D e p t h ' , 4) ; H-LAB ON YOUTUBE

- bit thm cc cu trc khc ca hm xem phn tr gip trc tuyn ca Matlab. c v ghi nh nh phn theo nh dng 1 bit - Trong mt s nh dng file, mt nh nh phn c th c lu trong mt nh dng 1 bit. Nu nh dng file tr gip n, Matlab ghi nh nh phn nh nh 1 bit theo mc nh. Khi ta c mt nh nh phn vi nh dng 1 bit, Matlab i din n trong khng gian lm vic nh mt mng lgic. - V d sau c mt nh nh phn v ghi n di dng file TIFF. Bi v nh dng TIFF tr gip nh 1 bit, file c ghi ln a theo nh dng 1 bit: B W=i m r e a d ( ' t e x t . p n g ' ) ; i m w r i t e ( B W , ' t e s t . t i f ' ) ;

VISITOR COUNTER

kim tra chiu su bit ca file test.tif, gi hm iminfo v kim tra trng BitDepth ca n: i n f o=i m f i n f o ( ' t e s t . t i f ' ) ; i n f o . B i t D e p t h a n s= 1

Hm nay Hm qua Thng ny Tt c

2988 5480 172206 197974

Ch : Khi ghi file nh phn, Matlab thit lp trng ColorType thnh grayscale. Xem lp lu tr ca file - Hm imwrite s dng lut sau y quyt nh lp lu tr c s dng trong nh kt qu: + logical: Nu nh dng nh ra (Output Image) c ch r l tr gip nh 1 bit, hm imwrite to mt file nh 1 bit. Nu nh dng nh ra c ch r l khng tr gip nh 1 bit (nh JPEG), hm imwrite chuyn nh ti mt nh thuc lp uint8. + uint8: Nu nh dng nh ra c ch r l tr gip nh 8 bit, hm imwrite to mt nh 8 bit

We have: 28 guests online Chrome 25.0.1364.172, Windows Hm nay: Mar 27, 2013 Visitors Counter

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

2/13

27/03/2013

Cc hm x l nh trong matlab
+ uint16: Nu nh dng nh ra c ch r tr gip nh 16 bit (PNG hoc TIFF), hm imwrite to mt nh 16 bit. Nu nh dng nh ra khng tr gip nh 16 bit, hm chuyn i d liu nh ti lp uint8 v to mt nh 8 bit. + double: Matlab chuyn d liu nh ti dng uint8 v to mt nh 8 bit bi v hu ht cc file nh s dng nh dng 8 bit. Truy vn mt file ho - Hm imfinfo cho php ta c th nhn c thng tin v mt file nh c tr gip bi toolbox. C php: imfinfo(filename,fmt) Cc thng tin c cung cp bi hm imfinfo l: filename, filemodedate, filesize, format, formatversion, width, height, bitdepth, colortype Thng tin m ta nhn c ph thuc vo kiu ca file nhng n lun bao gm nhng thng tin sau:

Tn ca file nh. nh dng file nh. S version ca nh dng file. Ngy sa i file gn nht. Kch thc file tnh theo byte.
AI ANG ONLINE Now online: 25 guests Latest members: xlhwbqvom Nguyen Trung Thanh

Chiu rng nh tnh theo pixel. Chiu cao nh tnh theo pixel. S lng bt trn mt pixel. Kiu nh: RGB, ch s
b) Hin th nh Dng hm imview - hin th mt nh s dng hm imview, dng hm imview, ch r nh m ta mun hin th. Ta c th s dng imview hin th mt nh m c nhp vo trong khng gian lm vic ca Matlab. m o o n f i g=i m r e a d ( ' m o o n . t i f ' ) ; i m v i e w ( m o o n f i g ) ;

Total members: 1527 RSS

Ta cng c th ch nh tn ca file nh nh trong v d sau: Feed Entries imview('moon.tif');

- File nh phi c mt trong th mc hin ti hoc trong ng dn ca Matlab. C u trc ny c th hu ch cho vic qut qua nhiu nh. Tuy nhin, lu , khi s dng cu trc ny, d liu nh khng c lu trong khng gian lm vic ca Matlab. - Nu ta gi hm imview m khng ch ra mt k tham s no, n s hin th mt hp chn file cho php ta ch ra tn file mun hin th. Xem nhiu nh - Nu ta ch ra mt file m cha nhiu nh, hm imview ch hin th nh u tin trong file . xem tt c cc nh trong file, s dng hm imread nhp mi nh vo trong khng gian lm vic ca Matlab sau gi hm imview nhiu ln hin th mi nh ring bit. Dng hm imshow - xem nh, ta c th s dng hm imshow thay cho imview. Ta s dng imshow hin th mt nh c nhp vo trong khng gian lm vic nh v d sau:

moon = imread('moon.tif'); imshow(moon);

Ta cng c th ch ra tn ca file nh nh mt tham s truyn vo cho hm nh v d sau: imshow('moon.tif'); Khi s dng cu trc ny th d liu nh khng c nhp vo trong khng gian lm vic. Tuy nhin, ta c th mang nh vo trong khng gian lm vic bng cch s dng hm getimage. Hm ny s nhn d liu nh t handle ca mt i tng nh hin ti. C hng hn: moon = getimage; S gn d liu nh t moon.tif vo bin moon. c) Cc hm chuyn i kiu nh - Vi cc thao tc nht nh s tht hu ch khi c th chuyn i nh t dng ny sang dng khc. C hng hn, nu ta mun lc mt mu nh c lu tr di dng nh ch s u tin ta nn chuyn i n thnh dng nh RGB. Khi ta p dng php lc ti nh RGB, Matlab s lc gi tr cng trong nh tng ng. Nu ta c gng lc nh ch s, Matlab n gin ch p t php lc ti ma trn nh ch s v kt qu s khng c ngha. C h : Khi chuyn i mt nh t dng ny sang dng khc, nh kt qu c th khc nh ban u. C hng hn, nu ta chuyn i mt nh mu ch s sang mt nh cng , kt qu ta s thu c mt nh en trng. - Danh sch sau y s lit k cc hm c s dng trong vic chuyn i kiu nh:

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

3/13

27/03/2013

Cc hm x l nh trong matlab
dither: To mt nh nh phn t mt nh cng en trng bng cch trn, to mt nh ch s t mt nh RGB bng cch trn (dither). gray2id: To mt nh ch s t mt nh cng en trng. grayslice: To mt nh ch s t mt nh cng en trng bng cch t ngng. im2bw: To mt nh nh phn t mt nh cng , nh ch s hay nh RGB trn c s ca ngng nh sng. ind2gray: To mt nh cng en trng t mt nh ch s. ind2rgb: To mt nh RGB t mt nh ch s. mat2gray: To mt nh cng en trng t d liu trong mt ma trn bng cch ly t l gi liu. rgb2gray: To mt nh cng en trng t mt nh RGB. rgb2ind: To mt nh ch s t mt nh RGB.
- Ta cng c th thc hin cc php chuyn i kiu ch s dng c php ca Matlab. C hng hn, ta c th chuyn i mt nh cng sang nh RGB bng cch ghp ni 3 phn copy ca ma trn nh gc gia 3 chiu:

RGB=cat(3,I,I,I );

- nh RGB thu c c cc ma trn ng nht cho cc mt phng R, G, B v vy nh hin th ging nh bng xm. - Thm vo nhng cng c chuyn i chun ni trn, cng c mt s hm m tr li kiu nh khc nh mt phn trong thao tc m chng thc hin. Chuyn i khng gian mu - Toolbox x l nh biu din mu sc nh cc gi tr RGB ( trc tip trong nh RGB hoc gin tip trong nh ch s ). Tuy nhin, c cc phng php khc cho vic biu din mu sc. C hng hn, mt mu c th c i din bi cc gi tr hue, saturation v cc gi tr thnh phn (HSV). C c phng php khc cho vic biu din mu c gi l khng gian mu. - Toolbox cung cp mt tp cc th tc chuyn i gia cc khng gian mu. C c hm x l nh t chng coi d liu mu sc di dng RGB tuy nhin, ta c th x l mt nh m s dng cc khng gian mu khc nhau bng cch chuyn i n sang RGB sau chuyn i nh c x l tr li khng gian mu ban u. d) Chuyn i nh dng cc file nh - thay i nh dng ho ca mt nh, s dng hm imread c mt nh v sau lu n vi hm imwrite ng thi ch ra nh dng tng ng. - minh ho, v d sau y s dng hm imread c mt file BMP vo khng gian lm vic.Sau , hm imwrite lu nh ny di nh dng PNG

bitmap = imread('mybitmap.bmp','bmp'); imwrite(bitmap,'mybitmap.png','png');

e) S hc nh - S hc nh s ng dng ca cc php ton s hc chun nh: cng, tr, nhn, chia ln nh. S hc nh c s dng nhiu trong x l nh trong c cc bc ban u ln cc thao tc phc tp hn. C hng hn, tr nh c th c s dng pht hin s khc nhau gia hai hoc nhiu nh ca cng mt cnh hoc mt vt. - Ta c th thc hin s hc nh s dng cc ton t s hc ca Matlab. Toolbox x l nh bao gm mt tp hp cc hm ng dng cc php ton s hc trn tt c cc con s khng lp y. Hm s hc ca toolbox chp nhn bt k kiu d liu s no bao gm uint8, uint16 hay double v tr li nh kt qu trong cng nh dng. C c hm thc hin cc php ton vi chnh xc kp trn tng phn t nhng khng chuyn i nh ti gi tr chnh xc kp trong khng gian lm vic ca Matlab. S trn s c iu khin t ng. Hm s ct b gi tr tr v va vi kiu d liu. Lut ct b trong s hc nh - Kt qu ca s hc nguyn c th d dng trn s dng cho lu tr. C hng hn, gi tr cc i ta c th lu tr trong uint8 l 255. C c php ton s hc c th tr v gi tr phn s - khng c biu din bi mt chui s nguyn. - C c hm s hc nh s dng nhng lut ny cho s hc nguyn: + Gi tr vt qu khong ca kiu s nguyn b ct b ti khong + Gi tr phn s c lm trn C hng hn, nu d liu c kiu uint8, kt qu tr v nu ln hn 255 ( bao gm Inf ) th c gn l 255. Li gi lng nhau ti hm s hc nh - Ta c th s dng cc hm s hc nh kt hp thc hin mt chui cc php ton. C hng hn tnh gi tr trung bnh ca hai nh: C =(A+B) /2 Ta c th nhp vo nh sau:

I = imread('rice.png'); I2 = imread('cameraman.tif'); K = imdivide(imadd(I,I2), 2); % not recommended

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

4/13

27/03/2013

Cc hm x l nh trong matlab
- Khi c s dng vi kiu uint8 hay uint16, mi hm s hc ct kt qu ca n trc khi truyn n cho hm thip theo. S ct b ny c th gim ng k lng thng tin trong nh cui cng. Mt cch lm tt hn thc hin mt chui cc tnh ton l s dng hm imlincomb. Hm ny thi hnh tt c cc php ton s hc trong s kt hp tuyn tnh ca chnh xc kp v ch ct b kt qu cui cng:

K = imlincomb(.5,I,.5,I2); % recommended

Bin i khng gian nh Bin i khng gian nh l thc hin nh x gia v tr cc pixel trong nh vo vi cc pixel trong nh ra. a) Bng thut ng Aliasing : Rng ca - xut hin khi gim kch thc nh. Khi kch thc ca mt nh b gim, cc pixel gc b ly mu gim to ra t pixel hn. Aliasing xy ra nh kt qu ca vic gim kch thc nh thng xut hin di dng bc thang ( c bit trong cc nh c tng phn cao ) Antialiasing : C c bin php chng rng ca cho nh Bicubic interpolation : Gi tr ca cc pixel ra c tnh ton t gi tr trung bnh ca 4x4 pixel ln cn Bilinear interpolation : Ga tr ca pixel ra c tnh ton t gi tr trung bnh ca 2x2 pixel ln cn Geometric operation : Mt thao tc sa i quan h hnh hc ga cc pixel trong mt nh. C hng hn thay i kch thc nh, quay nh v xn nh Interpolation : Qu trnh c s dng c lng gi tr nh mt v tr gia cc pixel Nearest-neighbor interpolation : C c gi tr pixel ra c gn gi tr ca pixel nm trong mt vng gn pixel . b) Ni suy Ni suy l qu trnh s dng c lng mt gi tr nh mt v tr gia cc pixel. C hng hn, nu ta thay i kch thc mt nh, n s cha nhiu pixel hn nh gc, toolbox s dng s ni suy tnh gi tr cho cc pixel thm vo. Hm imresize v imrotate s dng ni suy hai chiu thc hin thao tc ca mnh. Hm improfile cng s dng s ni suy ho. Cc phng php ni suy - Toolbox s l nh cung cp 3 cch ni suy ho + Ni suy cc pixel gn nht ( nearest neighbor interpolation ) + Ni suy song tuyn tnh ( Bilinear interpolation ) + Ni suy song khi ( Bicubic interpolation ) C c phng php ni suy lm vic theo mt cch ging nhau. Trong mi trng hp, tnh gi tr ca mt pixel c ni suy, chng tm im trong nh ra m pixel nm ti . Sau , chng gn mt gi tr ti cc pixel ra bng cch tnh ton gi tr trung bnh c trng s ca mt s pixel ln cn. Trng s da trn c s khong cch ti im ang xt. - C c phng php ny khc nhau tp cc pixel m chng xem xt: + Vi ni suy cc pixel gn nht: pixel ra c gn gi tr ca cc pixel gn n nht. C c pixel khc khng c xem xt. + Ni suy song tuyn tnh, gi tr ca pixel ra l gi tr trung bnh theo trng s ca 2x2 pixel ln cn. + Ni suy song khi: gi tr ca pixel ra l trung bnh c trng s ca 4x4 pixel ln cn. S lng cc pixel c xem xt nh hng n phc tp tnh ton. V vy, phng php song tuyn tnh mt nhiu thi gian hn phng php th nht v phng php song khi mt nhiu thi gian hn song tuyn tnh. Tuy nhin, s lng pixel ln hn, chnh xc s tt hn. Kiu nh - C c hm s dng tuyn tnh yu cu mt tham s ch ra phng php ni suy. Vi hu ht cc hm, phng php mc nh c s dng l nearest-neighbor interpolation. Phng php ny to ra mt kt qu c th chp nhn c cho hu ht cc nh v l phng php duy nht thch hp vi nh ch s. Vi nh cng hay RGB, tuy nhin ta thng ch ra kiu song tuyn tnh hoc song khi bi v nhng phng php ny cho kt qu tt hn Vi nh RGB, ni suy thng c thc hin trn mt phng R,B,G mt cch ring bit Vi nh nh phn, ni suy gy ra nhng nh hng m ta c th nhn thy c. Nu s dng ni suy song tuyn tnh hoc song khi, gi tr tnh ton c cho pixel trong nh ra s khng hon ton l 0 hoc 1. nh hng trn nh kt qu ph thuc vo lp ca nh vo: + Nu lp nh vo l double, nh ra l mt nh en trng thuc lp double. nh ra khng l nh nh phn bi v n bao gm cc gi tr khc 0 v 1. + Nu nh vo l uint8, nh ra l mt nh nh phn thuc lp uint8. Gi tr ca cc pixel c ni suy c lm trn thnh 0 hoc 1. V vy , nh ra thuc lp uint8. Nu s dng phng php nearest-neighbor interpolation, nh ra lun l nh nh phn bi v nhng gi tr ca pixel c ni suy c ly trc tip t nh vo. c) Thay i kch thc nh

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

5/13

27/03/2013

Cc hm x l nh trong matlab
- thay i kch thc ca mt nh, s dng hm imresize. S dng hm ny ta c th: + C h ra kch thc ca nh kt qu. + C h ra phng php ni suy c s dng. + C h ra b lc c s dng ngn nga hin tng rng ca. Ch ra kch thc cho nh kt qu - S dng hm imresize, ta ch th ch ra kch thc ca nh kt qu theo hai cch: + Bng cch ch ra h s phng i c s dng trn nh. + Bng cch ch ra chiu ca nh kt qu. S dng h s phng i nh - m rng mt nh, ch ra h s phng i ln hn 1. thu nh mt nh, ch ra h s phng i nm gia 0 v 1. C hng hn, lnh sau tng kch thc ca nh I ln 1.25 ln:

Hnh 1 nh trc v sau khi imresize

I = imread('circuit.tif'); J = imresize(I,1.25); imshow(I) figure, imshow(J)

Ch nh kch thc ca nh ra - Ta c th ch ra kch thc ca nh ra bng cch truyn mt vc t cha s lng hng v ct ca nh sau cng. Nhng lnh sau y to mt nh ra Y vi 100 hng v 150 ct.

Y = imresize(X,[100 150])

C h : Nu kch thc c ch ra khng c cng t l vi nh vo, nh ra s b bin dng Ch nh phng php ni suy c s dng. - Theo mc nh, hm imresize s dng phng php ni suy cc pixel gn nht (nearest neighbor interpolation) tnh gi tr cc pixel ca nh ra. Tuy nhin, ta c th ch nh cc phng php ni suy khc. Bng sau y lit k cc phng php ni suy c tr gip theo th t ca phc tp. Gi tr tham s nearest bilinear biculic Phng php ni suy Ni suy cc phixel gn nht ( mc nh ) Ni suy song tuyn tnh Ni suy song khi

Trong v d sau, hm imresize s dng phng php ni suy song tuyn tnh:

Y=imresize(X, [100 150],bilinear);

S dng b lc ngn chn hin tng rng ca - Vic gim kch thc (hnh hc) ca mt nh c th gy ra nhng nh hng nht nh ln nh chng hn nh hin tng xut hin rng ca ti bin ca nh . iu ny l do thng tin lun b mt khi ta gim kch thc mt nh. Rng ca xut hin nh nhng gn sng trong nh sau cng. - Khi gim kch thc ca nh s dng ni suy song tuyn tnh hoc song khi, hm imresize t ng p t mt b lc

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

6/13

27/03/2013

Cc hm x l nh trong matlab
thng thp ln nh trc khi ni suy. iu ny gim nh hng ca rng ca trong nh ra. Ta c th ch ra kch thc ca b lc ny hoc ch ra mt b lc khc thay th. C h : Thm ch s dng mt b lc thng thp, cht lng ca nh vn b nh hng do thng tin lun b mt trong qu trnh ni suy - Hm imresize khng p t mt b lc thng thp ln nh nu phng php ni suy cc pixel gn nht c s dng. Phng php ni suy ny ban u c s dng vi cc nh ch s v b lc thng thp khng thch hp cho kiu nh ny. - Ta cng c th ch ra mt b lc t to thay cho cc b lc c sn. Hm imresize C php ca hm ny nh sau:

B B B B B

= = = = =

imresize(A,m) imresize(A,m,method) imresize(A,[mrows ncols],method) imresize(...,method,n) imresize(...,method,h)

Din gii + B=imresize(A,m): Tr li mt nh B ln gp m ln nh A (kch thc hnh hc) s dng phng php ni suy mc nh (nearest - neighbor interpolcation). A c th l mt nh ch s, nh en trng, RGB hoc nh nh phn. Nu m nm gia 0 v 1, B s nh hn A. Nu m ln hn 1, B s ln hn A. + B=imresize(A,m,method): Tr li mt nh ln gp m ln nh A s dng phng php ni suy method. method l mt chui ch ra phng php ni suy no c s dng chng hn: nearest,bilinear,bicubic. + B=imresize(A, [mrows ncols],method): Tr li mt nh vi kch thc c ch ra bi vector [mrows ncols]. Nu kch thc c ch ra khng cng t l vi nh vo, nh s b bin dng . Khi kch thc ca nh ra nh hn kch thc ca nh vo v phng php ni suy c s dng l bilinear hoc bicubic, hm imresize p t mt b lc thng thp trc khi tuyn tnh ho gim hin tng rng ca. Kch thc mc nh l 11x11. Ta c th ch ra mt th t khc cho b lc mc nh s dng cu trc: B=imresize(,method,n): n l mt s nguyn ch ra kch thc ca b lc nxn. Nu n=0, hm imresize b qua bc lc. Ta cng c th ch ra b lc ring s dng c php: B=imresize(,method,h): Trong h l mt b lc FIR hai chiu ( c th c tr v bi cc hm ftrans2, fwind1, fwind2 hoc fsamp2 ). d) Quay nh - quay mt nh, s dng hm imrotate. Hm ny chp nhn hai tham s chnh: + nh cn quay + Gc quay - Gc quay tnh theo . Nu ta ch ra mt gi tr dng, hm imrotate quay nh theo chiu ngc chiu kim ng h. Nu ch ra gi tr m, hm quay nh theo chiu kim ng h. V d sau quay mt nh 35 theo chiu ngc chiu kim ng h:

J=imrotate(I,35 ) ;

- Mt s tham s tu chn ta c th truyn vo cho hm bao gm: + Phng php ni suy c s dng + Kch thc ca nh ra Ch nh phng php ni suy c s dng - Theo mc nh, hm imrotate s dng phng php ni suy th nht (nearest-neighbor interpolation) tnh gi tr cc pixel trong nh ra. Tuy nhin, ta c th ch ra cc phng php ni suy khc nh: bilinear ,bicubic V d sau quay mt nh 35 ngc chiu kim ng h s dng ni suy song tuyn tnh:

I = imread('circuit.tif'); J = imrotate(I,35,'bilinear'); imshow(I) figure, imshow(J)

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

7/13

27/03/2013

Cc hm x l nh trong matlab

Hnh 2 nh trc v sau khi imrotate Ch nh kch thc ca nh ra Theo mc nh, hm imrotate to mt nh ra ln c th bao gm ton b cc pixel ca nh gc. C c pixel nm ngoi bin ca nh gc c gn gi tr 0 nh th nn mu en trong nh ra. Nu ta ch ra chui crop nh mt tham s, hm imrotate s xn nh ra ti kch thc nh nh vo. Hm imrotate C php ca n nh sau:

B = imrotate(A,angle) B = imrotate(A,angle,method) B = imrotate(A,angle,method,bbox)

Din gii + B=imrotate(A,angle): Quay nh A mt gc angle theo chiu ngc chiu kim ng h, s dng phng php ni suy cc pixel gn nht. quay theo chiu kim ng h hy truyn gi tr m cho tham s angle + B=imrotate(A,angle,method): Quay nh A mt gc angle theo chiu kim ng h s dng phng php ni suy c ch ra trong method. + B=imrotate(A,angle,method,bbox): Quay nh A mt gc angle . Tham s bbox ch ra hp bin ca nh tr v. bbox l mt chui c th nhn cc gi tr sau: crop: nh ra B ch bao gm phn trung tm ca nh c quay v c cng kch thc vi nh A loose: ( Mc nh ): nh ra B bao gm ton b nh c quay v ln hn nh A. Hm imrotate thit lp gi tr 0 cho cc pixel ngoi bin ca nh gc. V d : - V d ny c mt nh quang ph nh sng mt tri c lu trong nh dng FITS v quay n v cn n theo chiu ngang.

I = fitsread('solarspectra.fts'); I = mat2gray(I); J = imrotate(I,-1,'bilinear','crop'); imshow(I) figure, imshow(J)

Hnh 3 nh c quay theo chiu ngang e) Xn nh (image cropping) - trch mt vng ch nht ca mt nh, s dng hm imcrop. Hm imcrop chp nhn hai tham s chnh:

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

8/13

27/03/2013
+ nh cn xn

Cc hm x l nh trong matlab
+ C c gc ca hnh ch nht xc nh vng xn - Nu ta gi hm imcrop m khng ch ra hnh ch nht, ta c th xn nh theo cc tng tc. Trong trng hp ny, ta s dng tr chut chn vng ch nht cn xn bng cch nhn v gi phm chut tri v di chuyn chn vng xn. Khi chn xong th nh chut. Trong v d sau, ta hin th mt nh v gi hm imcrop. Hm imcrop hin th nh trong mt hnh v i ta v vng ch nht cn xn trn nh.

imshow circuit.tif I=imcrop; Imshow(I);

Hnh 4 nh trc v sau khi imcrop Hm imcrop - C php ca n nh sau:

I2 = imcrop(I) X2 = imcrop(X,map) RGB2 = imcrop(RGB) I2 = imcrop(I,rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect) [...] = imcrop(x,y,...) [A,rect] = imcrop(...) [x,y,A,rect] = imcrop(...)

Din gii - Hm imcrop xn mt nh theo mt hnh ch nht c ch nh.

I2=imcrop(I) ; X2=imcrop(X,map); RGB2=imcrop(RGB);

Hm imcrop s hin th nh I v i ta ch ra hnh ch nht cn xn bng chut - Nu ta b qua cc tham s, hm imcrop thao tc trn nh ca trc hin ti. - ch nh mt hnh ch nht ta dng tr chut nh ni trn - Ta cng c th ch ra kch thc ca hnh ch nht m khng thao tc trc tip nh cc c php sau:

I2 = imcrop(I,rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect)

Trong : rect l mt vector bn phn t dng [xmin ymin width height], nhng gi tr ny c ch ra trong to khng gian. ch nh cc to khng theo to khng gian cho nh vo, t trc cc tham s khc vi 2 vector hai phn t ch ra Xdata v Ydata. C hng hn:

[]=imcrop(x,y,)

- Nu ta cung cp cc tham s ra ph, hm imcrop s tr li thng tin v vng ch nht c chn v h to ca nh vo. C hng hn:

[A,rect] = imcrop(...) [x,y,A,rect] = imcrop(...)

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

9/13

27/03/2013

Cc hm x l nh trong matlab
A l nh ra, x v y l Xdata v Ydata ca nh vo Ch : - Do rect l mt tp hp cc to khng gian, cc phn t width v height trong rect khng lun lun tng ng chnh xc vi kch thc ca nh ra. C hng hn, gi s rect l [20 20 40 30], s dng h to khng gian theo mc nh. Gc trn tri ca vng ch nht c chn l tm ca pixel (20,20) v gc di phi ca vng ch nht l tm ca pixel (50,60). nh ra l mt nh c kch thc 31x41 ch khng phi 30x40. iu ny l do nh ra bao gm tt c cc pixel trong nh vo hon ton hoc mt phn c bao bc bi vng ch nht trn. V d

I = imread('circuit.tif'); I2 = imcrop(I,[75 68 130 112]); imview(I), imview(I2)

Hnh 5 nh trc v sau khi imcrop theo 1 ta cho trc f) Cc bin i nh thng dng - thc hin cc bin i khng gian nh 2 chiu, s dng hm imtransform. Hm ny chp nhn hai tham s chnh: nh cn bin i Mt cu trc bin i c gi l TFORM ch ra kiu bin i ta mun thc hin Ch ra kiu bin i - Ta ch ra kiu bin i trong cu trc TFORM. C hai cch to mt cu trc TFORM: S dng hm maketform S dng hm cp2tform S dng hm maketform - Khi s dng hm ny, ta ch ra kiu bin i ta mun thc hin. C c kiu bin i m maketform tr gip bao gm: + affine: Bin i c th bao gm: translation ( dch ), rotation ( quay ), scaling, stretching v shearing. C c ng thng vn l ng thng, ng song song vn song song nhng hnh ch nht c th b bin i + box: Mt trng hp c bit ca affine khi mi chiu c di v nh t l c lp + composite : Bao gm t hp ca hai hay nhiu php bin i + custom : Bin i do ngi dng t nh ngha, n cung cp cc hm thun hoc nghch c gi bi hm imtransform + projective : Bin i trong cc ng thng vn gi nguyn nhng cc ng song song ng quy li thnh mt im. S dng cp2tform - Ta s dng hm ny to ra cu trc TFORM khi ta mun thi hnh mt bin i cn kht vi cc im d liu nh mt bin i a thc. C h : Khi s dng vi hm imtransform, cu trc TFORM phi nh ngha mt bin i 2 chiu. Nu mt nh cha nhiu hn mt chiu chng hn nh nh RGB, cng mt bin i 2 chiu s c p t ti tt c cc mt phng 2 chiu theo chiu cao hn. nh ngha mt bin i n chiu s dng hm imformarrray Thc hin bin i - Khi ta nh ngha mt cu trc TFORM, ta c th thi hnh mt s bin i bng cch gi hm imtransform. C hng hn, on m sau s dng hm ny thi hnh mt bin i projective cho mt nh bn c:

I = checkerboard(20,1,1); figure; imshow(I)

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

10/13

27/03/2013

Cc hm x l nh trong matlab
T = maketform('projective',[1 1; 41 1; 41 41; 1 41],... [5 5; 40 5; 35 30; -10 30]); R = makeresampler('cubic','circular'); K = imtransform(I,T,R,'Size',[100 100],'XYScale',1); figure, imshow(K)

Hnh 6 nh trc v sau khi imtransforms - C c tu chn ca hm imtransform cho php ta iu khin nhiu kha cnh ca vic bin i. C hng hn, ch rng nh b bin i xut hin nhiu bn copy ca nh gc. iu ny nhn c bi tu chon size.Xem thm Help Online

Hm imtransform - p t mt bin i khng gian 2 chiu ln mt nh C php

B = imtransform(A,TFORM) B = imtransform(A,TFORM,INTERP) [B,XDATA,YDATA] = imtransform(...) [B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...)

Din gii + B=imtransform(A,TFORM ): bin i nh A theo cu trc c nh ngha trong TFORM. C u trc ny c tr v t hm maketform hoc cp2tform. Nu ndims(A)>2 nh cc nh RGB th cng mt bin i khng gian 2 chiu c p t ti tt c cc mt phng theo chiu cao hn. Khi s dng c php ny, hm imtransform t ng dch gc ca nh ra nh ra c th c hin th nhiu nht c th. + B=imtransform(A,TFORM, INTERP): ch ra dng ca php ni suy c s dng. INTERP c th l mt trong cc gi tr nearest, bicubic hoc bilinear. Tng t, INTERP c th l mt cu trc c tr v t hm makeresampler. Tu chn ny cho php iu khin nhiu hn ln vic ly mu li (resampling). + [B,XDATA,YDATA]= imtransform(): tr v v tr ca nh ra B trong khng gian X-Y. XDATA v YDATA cc vector hai thnh phn. Nhng thnh phn ca XDATA ch ra to x ca ct u v cui ca B. Nhng thnh phn ca YDATA ch ra to y ca ct u v cui ca B. Bnh thng, hm imtransform tnh ton XDATA v YDATA t ng v vy B cha ton b nh bin i A. Tuy nhin, ta c th chng tnh ton t ng ny xem di y: + [B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...): C h ra cc tham s iu khin nhiu kha cnh khc nhau ca bin i khng gian. Bng sau lit k cc tham s m ta c th ch ra.

Tham s
UData VData

Din gii
C hai tham s ny l cc ve ctor hai phn t thc. Udata v Vdata ch ra v tr k hng gian ca nh A trong k hng gian vo 2 chi u U-V. Hai phn t ca Udata cho to u (honh ) ca ct u ti n v cui cng ca A. Hai phn t ca Vdata cho to v ( tung ) ca hng u ti n v cui cng ca A. Gi tr m c nh cho Udata v Vdata tng ng l [1 size (A,2) ] v [1 size (A,1) ]

Xdata Ydata

C hai tham s ny l cc ve ctor hai phn t thc ch ra v tr k hng gian ca nh ra B trong k hng gian ra 2 chi u X-Y. Hai phn t ca Xdata ch ra honh x ca ct u ti n v cui cng ca B. Hai phn t ca Ydata ch ra tung ca hng u ti n v cui cng ca B. N u Xdata v Ydata k hng c ch ra, hm im transform c lng gi tr cho chng c th cha ton b nh ra b bi n i

XYScale

L ve ctor vi m t hoc hai phn t thc. Phn t u ti n ca XYScale ch ra chi u rng ca m i pix e l vo trong k hng gian X-Y. Phn t th hai (n u tn ti) ch ra chi u cao ca m i pix e l ra. N u XYScale ch c m t phn t, gi tr ny s c dng cho c chi u rng v chi u cao. N u XYScale k hng c ch nh nhng Size c ch ra th XYScale c tnh ton t Size ,Xdata v Ydata.

Size

Mt ve ctor hai phn t nguy n k hng m . Size ch ra s hng v ct trong nh ra B. Vi chi u cao hn, k ch c ca B c ly trc ti p t A. Ni cch k hc, size (B,k ) tng ng vi size (A,k ) vi k >2. N u Size k hng c ch nh, n s c tnh t Xdata,Ydata v XYScale

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

11/13

27/03/2013
FillValue s

Cc hm x l nh trong matlab
Mt m ng cha m t hoc nhi u gi tr t (fill value s). Fill value s c s dng cho cc pix e l tr n nh ra k hi v tr c bi n i tng ng tr n nh vo hon ton l vi n ngoi ca nh ra. n u A l 2 chi u, Fillvalue s phi v hng. Tuy nhi n, n u chi u ca A ln hn 2, FillValue s c th l m t m ng m k ch thc ca n tho m n rng buc sau: size (fill_value s,k ) phi bng size (A,k +2) hoc 1. C hng hn, n u A l m t nh R GB unit8 c k ch thc 200x 200x 3 th cc k h nng ca FillValue s bao gm : 0: T vi m u e n [0;0;0]: T vi m u e n 255: T vi m u trng [255;255;255]: T vi m u trng [0;0;255]: T vi m u x anh [255;255;0]: T vi m u vng N u A l 4 chi u 200x 200x 3x 10 th FillValue s c th l 1 v hng 1x 10,3x 1,3x 1

V d p mt php dch chuyn ngang ti mt nh cng ;

I = imread('cameraman.tif'); tform = maketform('affine',[1 0 0;.5 1 0; 0 0 1]); J = imtransform(I,tform); imshow(I), figure, imshow(J)

Hnh 7 nh trc v sau khi imtransforms vi 1 cng nh

Nh vy l chng ta tm hiu xong cc hm matlab h tr cho x l nh. Phn tip theo chng ta s tm hiu v cc thut ton x l nh ___________________ Reference Lun vn H Cng Nghip TP HCM Gio trnh matlab Khoa Ton -Tin, H T Nhin ,HQG TP HCM

Comments
# tgg agg
2011-09-14 07:02

0 Reply | Reply with quote | Quote

# nth 2011-09-14 07:03 cho file pdf i bn

0 Reply | Reply with quote | Quote

# ninhhuong 2012-02-16 22:48 ko c link down bn

0 Reply | Reply with quote | Quote

# Hoang 1 2012-02-17 06:50 Tong hop tu nhieu nguon,nen khong co file ban oi

0 Reply | Reply with quote | Quote

# lienhuong

2012-03-02 12:20

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

12/13

27/03/2013
hay qua

Cc hm x l nh trong matlab
Reply | Reply with quote | Quote

# lienhuong 2012-03-02 12:24 cm n ban v chia s nhng bi hc b ch ny

0 Reply | Reply with quote | Quote

# bkit

2012-03-31 16:26

0 Reply | Reply with quote | Quote

bai viet hay cam on nhieu

# 123123

2012-04-22 08:04

0 Reply | Reply with quote | Quote

# xugo

2012-05-06 09:57

0 Reply | Reply with quote | Quote

hay . thanks

# vhung 2012-09-13 08:05 tuyt vi. cm n bn nhiu

0 Reply | Reply with quote | Quote

# pit 2012-10-02 22:59 cho em hi trong matlap lm sao phn bit c tin ng trong hnh chp c cc mnh gi tin khc nhau gip em vi

Reply | Reply with quote | Quote

# tonyk 2012-11-27 15:19 thank a. phn tip theo u h a?

0 Reply | Reply with quote | Quote

Refresh comments list RSS feed for comments to this post

Add comment
Name (required)

1000 sym bols le ft

Send
J C omments

RELATED ARTICLES 2011-01-31 - Gii thiu c bn v x l nh 2011-02-01 - Thresholding v Segmentation 2011-02-01 - C bn v x l nhiu 2011-02-01 - Histogram Equalization 2011-03-11 - C bn v PIC 2011-08-11 - Gii thiu v matlab v x l nh

COPYRIGHT 2013 H LABORATORY. ALL RIGHTS RESERVED. MODIFIED BY HOANG NGUYEN.

FEED ENTRIES

hlab.com.vn/index.php?option=com_content&view=article&id=202%3Ax-ly-nh-vi-matlab&catid=47%3Ac-bn-v-dsp&Itemid=113&lang=en

13/13

You might also like