You are on page 1of 26

Gii thiu v matlab v x l nh

1 Gii thiu chung v phn mm Matlab 1.1 Khi nim v Matlab Matlab l mt ngn ng lp trnh thc hnh bc cao c s dng gii cc bi ton v k thut. Matlab tch hp c vic tnh ton, th hin kt qu, cho php lp trnh, giao din lm vic rt d dng cho ngi s dng. D liu cng vi th vin c lp trnh sn cho php ngi s dng c th c c nhng ng dng sau y.

S dng cc hm c sn trong th vin, cc php tnh ton hc thng thng. Cho php lp trnh to ra nhng ng dng mi. Cho php m phng cc m hnh thc t. Phn tch, kho st v hin th d liu. Vi phn mm ho cc mnh. Cho php pht trin, giao tip vi mt s phn mm khc nh C++, Fortran 1.2 Tng quan v cu trc d liu ca Matlab, cc ng dng Matlab l mt h thng tng giao, cc phn t d liu l mt mng (mng ny khng i hi v kch thc). Chng cho php gii quyt cc vn lin quan n lp trnh bng my tnh, c bit s dng cc php tnh v ma trn hay vect v c th s dng ngn ng C hc Fortran lp trnh ri thc hin ng dng lp trnh bng cc cu lnh gi t Matlab. Matlab c vit tt t ch MATrix LABoratory tc l th vin v ma trn, t phn mm Matlab c vit nhm cung cp cho vic truy cp vo phn mm ma trn mt cch d dng, phn mm ma trn ny c pht trin bi cc cng trnh Linpack v Eispack. Ngy nay Matlab c pht trin bi Lapack v Artpack to nn mt ngh thut phn mm cho ma trn. 1.2.1 D liu D liu ca Matlab th hin di dng ma trn (hoc mng - tng qut), v c cc kiu d liu c lit k sau y:

Kiu n single, kiu ny c li v b nh d liu v n i hi t byte nh hn, kiu d liu ny khng c s dng trong cc php tnh ton hc, chnh xc km hn. Kiu double kiu ny l kiu thng dng nht ca cc bin trong Matlab. Kiu Sparse. Kiu uint8, uint8, uint16, uint64... Kiu char v d Hello. Kiu cell. Kiu Structure. Trong Matlab kiu d liu double l kiu mc nh s dng trong cc php tnh s hc. 1.2.2 ng dng

Matlab to iu kin thun li cho:


Cc kho hc v ton hc. Cc k s, cc nh nghin cu khoa hc. Dng Matlab tnh ton, nghin cu to ra cc sn phm tt nht trong sn xut.

1.2.3 Toolbox l mt cng c quan trng trong Matlab Cng c ny c Matlab cung cp cho php bn ng dng cc k thut phn tch, thit k, m phng cc m hnh. Ta c th tm thy toolbox trong m trng lm vic ca.

Mng nron. Logic m. Simulink. 1.3 H thng Matlab H thng giao din ca Matlab c chia thnh 5 phn: Mi trng pht trin. y l ni t cc thanh cng c, cc phng tin gip chng ta s dng cc lnh v cc file, ta c th lit k mt s nh sau. + Desktop. + Command Window. + Command History. + Browsers for viewinghelp. Th vin, cc hm ton hc bao gm cc cu trc nh tnh tng, sin cosin atan, atan2 etc..., cc php tnh n gin n cc php tnh phc tp nh tnh ma trn nghich o, tr ring, chuyn i fourier, laplace, symbolic library. Ngn ng Matlab. l cc ngn ng cao v ma trn v mng, vi cc dng lnh, cc hm, cu trc d liu vo, c th lp trnh hng i tng. ho trong Matlab. Bao gm cc cu lnh th hin ha trong mi trng 2D v 3D, to cc hnh nh chuyn ng, cung cp cc giao din tng tc gia ngi s dng v my tnh. Giao tip vi cc ngn ng khc. Matlab cho php tng tc vi cc ngn ng khc nh C, Fortran 1.4 Lm quen vi Matlab Trc tin khi ng Matlab bn kch click vo biu tng file Matlab.exe, trn mn hnh xut hin ca s sau. (Xem hnh v 1.1) Ca s cha cc thanh cng c (Giao din ngi v my) cn thit cho vic qun l cc files, cc bin, ca s lnh, c th coi desktop l cc panel gm cc , vng, qun l v tc dng ca tng ca s nh c qun l bi desktop.

Hnh 1.1: Ca s lm vic ca matlab 1.5 Cc ca s lm vic ca Matlab a) Ca s Command Window L ca s giao tip chnh ca Matlab bi y l ni nhp gi tr cc bin, hin th gi tr, tnh ton gi tr ca biu thc, thc thi cc hm c sn trong th vin (dng lnh), hoc cc hm (dng function) do ngi dng lp trnh ra trong M-file. Cc lnh c nhp sau du nhc >>, v nu c sai st trong qu trnh g (nhp) lnh th hy nhn phm Enter cho n khi nhn c du nhc >>. Thc thi lnh bng nhn phm Enter. G cc lnh sau: >>A=pi/2; >>B=sin(A) B= 1 Hoc chng trnh son tho trong M-file di y: % Chuong trinh trong M-file x= 0:pi/6:2*pi; y=sin(x);

plot(x, y); % chuong trinh c lu vi tn file l ve_sin.m b)Ca s command History Cc dng m bn nhp vo trong ca s Command Window (cc dng ny c th l dng nhp bin, hoc c th l dng lnh thc hin hm no ) c gi li trong ca s Command History, v ca s ny cho php ta s dng li nhng lnh bng cch click chut ln cc lnh hoc cc bin, nu nh bn mun s dng li bin . Xem hnh 1.2

Hnh 1.2 Ca s Command History

c) Ca s Workspace L ca s th hin tn cc bin bn s dng cng vi kch thc vng nh (s bytes), kiu d liu(lp), cc bin c gii phng sau mi ln tt chng trnh. (xem hnh 1.3)

Hnh 1.3 Ca s Workspace

Ngoi ra n cho php thay i gi tr, cng nh kch thc ca bin bng cch click chut ln cc bin. Hoc click vo nt bn tri ngay cnh nt save. V d khi chn bin (gi s l bin b) ri click (hoc click chut vo nt cnh nt save) ta c ca s sau gi l Variable Editor (xem hnh 1.4)

Hnh 1.4 Ca s Variable Editor Tiu l tn bin b, nh dng d liu c tn l: Numeric format, mc nh l dng short, kch thc size l 1 by 3 (tc l mt hng v 3 ct) ta c th thay i kch thc ny bng cch thay i gi tr c trong kch thc size. Dng ca s ny lu cc bin di l d liu ca bin b, ta c th thay

i chng bng cch thay i gi tr trong cc . Tt c cc bin u c lu trong Workspace trong th hin c kch thc (Size), s Bytes v kiu d liu (class) (8 bytes cho mi phn t d liu kiu double c th l 24 bytes dnh cho b v 8 bytes dnh cho a). d) Ca s M-file L mt ca s dng son tho chng trnh ng dng, thc thi chng trnh vit trong Mfile bng cch g tn ca file cha chng trnh trong ca s Commandwindow. Khi mt chng trnh vit trong M-file, th tu theo ng dng c th, tu theo ngi lp trnh m chng trnh c th vit di dng sau: Dng Script file: Tc l chng trnh gm tp hp cc cu lnh vit di dng lit k, khng c bin d liu vo v bin ly gi tr ra.

Dng hm function: c bin d liu vo v bin ra. e) ng dn th mc: Ni lu gi cc files chng trnh.

1.2 Gii thiu khi qut v nh s 1.2.1 Cc khi nim c bn v nh nh s l tp hp hu hn cc im nh vi mc xm ph hp dng m t nh gn vi nh tht. S im nh xc nh phn gii ca nh. nh c phn gii cng cao th cng th hin r nt cc t im ca tm hnh cng lm cho tm nh tr nn thc v sc nt hn. a) im nh (Picture Element) im nh (Pixel) l mt phn t ca nh s ti to (x, y) vi xm hoc mu nht nh. Kch thc v khong cch gia cc im nh c chn thch hp sao cho mt ngi cm nhn s lin tc v khng gian v mc xm (hoc mu) ca nh s gn nh nh tht. Mi phn t trong ma trn c gi l mt phn t nh. b) Mc xm ca nh Mc xm: L kt qu ca s bin i tng ng 1 gi tr sng ca 1 im nh vi 1 gi tr nguyn dng. Thng thng n xc nh trong [0, 255] tu thuc vo gi tr m mi im nh c biu din. Cc thang gi tr mc xm thng thng: 16, 32, 64, 128, 256 (Mc 256 l mc ph dng. L do: t k thut my tnh dng 1 byte (8 bit) biu din mc xm. Mc xm dng 1 byte biu din: 28 =256 mc, tc l t 0 n 255). c) phn gii ca nh

nh ngha: phn gii (Resolution) ca nh l mt im nh c n nh trn mt nh s c hin th. Theo nh ngha, khong cch gia cc im nh phi c chn sao cho mt ngi vn thy c s lin tc ca nh. Vic la chn khong cch thch hp to nn mt mt phn b, chnh l phn gii v c phn b theo trc x v y trong khng gian hai chiu. V d: phn gii ca nh trn mn hnh CGA (Color Graphic Adaptor) l mt li im theo chiu ngang mn hnh: 320 im chiu dc * 200 im nh (320*200). R rng, cng mn hnh CGA 12 ta nhn thy mn hn mn hnh CGA 17 phn gii 320*200. L do: cng mt mt ( phn gii) nhng din tch mn hnh rng hn th mn (lin tc ca cc im) km hn. 2.2 Cc cch phn loi nh nh nh phn: Gi tr xm ca tt c cc im nh ch nhn gi tr 1 hoc 0 nh vy mi im nh trong nh nh phn c biu din bi 1 bit. nh xm: Gi tr xm nm trong [0, 255] nh vy mi im nh trong nh nh phn c biu din bi 1 byte. nh mu: - H mu RGB: Mt pixel c biu din bng 3 gi tr (R, G, B) trong R, G, B l mt gi tr xm v c biu biu din bng 1 byte. Khi ta c mt nh 24 bits. P(x, y) = (R, G, B) - H mu CMY: l phn b ca h mu RGB (C, M, Y) = (1, 1, 1) - (R, G, B) Hay C+R=M+G=Y+B=1 => H mu ny thng c dng trong my in. - H mu CMYK: trong K l m nht ca mu K= min(C, M, Y) P(x, y) = (C-K, M-K, V-K, K). V d: Vi (C1, M1, Y1) ta s c K=min(C1, M1, Y1) vy CMYK=(C1-K, M1-K, Y1-K, K)

3 X l nh vi Matlab 3.1 X l nh

Cc bc cn thit trong x l nh. u tin, nh t nhin t th gii ngoi c thu nhn qua cc thit b thu (nh Camera, my chp nh). Trc y, nh thu qua Camera l cc nh tng t (loi Camera ng kiu CCIR). Gn y, vi s pht trin ca cng ngh, nh mu hoc en trng c ly ra t Camera, sau n c chuyn trc tip thnh nh s to thun li cho x l tip theo. My nh s hin nay l mt th d gn gi. Mt khc, nh cng c th tip nhn t v tinh; c th qut t nh chp bng my qut nh. Hnh di y m t cc bc c bn trong x l nh.

Hnh 1.5 Cc bc c bn trong x l nh

3.2 Cc giai on x l nh a) Thu nhn nh (Image Acquisition) - nh c thu t nhiu ngun khc nhau:my nh, my quay phim, my qut, nh v tinh - Mc ch: bin i thng tin hnh nh v cc cu trc c lu tr trong my tnh, c th hin th ra cc thit b ngoi vi nh l my in, mn hnh - Gm hai tin trnh: + Bin i nng lng quang hc thnh nng lng in. + Tng hp nng lng in thnh nh hoc ma trn s. b) Tin x l (Image Processing) - L qu trnh s dng cc k thut x l nh lm nh tt ln theo mc ch s dng. - Mc ch: + iu chnh chiu sng khc phc hu qu ca vic chiu sng khng u. + Gim nh thnh phn nhiu ca nh tc l cc i tng xut hin ngoi mun. + Hiu chnh gi tr sng gia nn v i tng.

+ Chun ho ln, mu, dng ca nh. +iu chnh b lc khuych i v nn cc tn s. c) Phn on (Segmentation) - L qu trnh phn chia ni dung cc i tng cn kho st ra khi nh. - Phn chia cc i tng tip gip nhau. - Phn tch cc i tng ring bit thnh cc i tng con. d) Biu din nh (Image Representation) u ra nh sau phn on cha cc im nh ca vng nh (nh phn on) cng vi m lin kt vi cc vng ln cn. Vic bin i cc s liu ny thnh dng thch hp l cn thit cho x l tip theo bng my tnh. Vic chn cc tnh cht th hin nh gi l trch chn c trng (Feature Selection) gn vi vic tch cc c tnh ca nh di dng cc thng tin nh lng hoc lm c s phn bit lp i tng ny vi i tng khc trong phm vi nh nhn c. V d: trong nhn dng k t trn phong b th, chng ta miu t cc c trng ca tng k t gip phn bit k t ny vi k t khc. e) Nhn dng v ni suy nh (Image Recognition and Interpretation) Nhn dng nh l qu trnh xc nh nh. Qu trnh ny thng thu c bng cch so snh vi mu chun c hc (hoc lu) t trc. Ni suy l phn on theo ngha trn c s nhn dng. V d: mt lot ch s v nt gch ngang trn phong b th c th c ni suy thnh m in thoi. C nhiu cch phn loai nh khc nhau v nh. Theo l thuyt v nhn dng, cc m hnh ton hc v nh c phn theo hai loi nhn dng nh c bn: - Nhn dng theo tham s. - Nhn dng theo cu trc. Mt s i tng nhn dng kh ph bin hin nay ang c p dng trong khoa hc v cng ngh l: nhn dng k t (ch in, ch vit tay, ch k in t), nhn dng vn bn (Text), nhn dng vn tay, nhn dng m vch, nhn dng mt ngi f) C s tri thc (Knowledge Base) Nh ni trn, nh l mt i tng kh phc tp v ng nt, sng ti, dung lng im nh, mi trng thu nh phong ph ko theo nhiu. Trong nhiu khu x l v phn tch nh ngoi vic n gin ha cc phng php ton hc m bo tin li cho x l, ngi ta

mong mun bt chc quy trnh tip nhn v x l nh theo cch ca con ngi. Trong cc bc x l , nhiu khu hin nay x l theo cc phng php tr tu con ngi. V vy, y cc c s tri thc c pht huy. Nh vy l chng ta tm hiu c bn matlab v nguyn tc x l nh. Phn tip theo chng ta s tm hiu v cc hm x l nh ca matlab.

Cc kiu nh trong Matlab 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. RGB=imread(football.jpg); 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: mri = uint8(zeros(128,128,1,27)); % preallocate 4-D array for frame=1:27 [mri(:,:,:,frame),map] = imread('mri.tif',frame); End - 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. load clown whos Name X caption map Size 200x320 2x1 81x3 Bytes Class 512000 double array 4 char array 1944 double array

Grand total is 64245 elements using 513948 bytes imwrite(X,map,'clown.bmp')

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. imwrite(I,'clown.png','BitDepth',4 ); - 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: BW = imread('text.png'); imwrite(BW,'test.tif'); kim tra chiu su bit ca file test.tif, gi hm iminfo v kim tra trng BitDepth ca n: info = imfinfo('test.tif');info.BitDepth

ans =1 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 + 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. 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. moonfig = imread('moon.tif');

imview(moonfig); Ta cng c th ch nh tn ca file nh nh trong v d sau: imview('moon.tif'); - File nh phi c mt trong th mc hin ti hoc trong ng dn ca Matlab. Cu 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. Chng 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. Chng 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. Ch : Khi chuyn i mt nh t dng ny sang dng khc, nh kt qu c th khc nh ban u. Chng 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: 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. Chng 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. Chng hn, mt mu c th c i din bi cc gi tr hue, saturation v cc gi tr thnh phn (HSV). Cc 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. Cc 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. Chng 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. Cc 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. Chng hn, gi tr cc i ta c th lu tr trong uint8 l 255. Cc php ton s hc c th tr v gi tr phn s - khng c biu din bi mt chui s nguyn. - Cc 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 Chng 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. Chng 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 - 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 : Cc 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. Chng 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 : Cc 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. Chng 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 ) Cc 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. - Cc 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. Cc 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 - Cc 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 - thay i kch thc ca mt nh, s dng hm imresize. S dng hm ny ta c th: + Ch ra kch thc ca nh kt qu. + Ch ra phng php ni suy c s dng. + Ch 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. Chng 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]) Ch : 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 Phng php ni suy s nearest Ni suy cc phixel gn nht ( mc nh ) bilinear Ni suy song tuyn tnh biculic 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 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. Ch : 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 = imresize(A,m) B = imresize(A,m,method) B = imresize(A,[mrows ncols],method) B = imresize(...,method,n) B = 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)

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. Cc 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: + nh cn xn + Cc 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. Chng 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. Chng hn: [A,rect] = imcrop(...) [x,y,A,rect] = imcrop(...)

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. Chng 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:
o o

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:

o o

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. Cc kiu bin i m maketform tr gip bao gm: + affine: Bin i c th bao gm: translation ( dch ), rotation ( quay ), scaling, stretching v shearing. Cc 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. Ch : 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. Chng 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) 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 - Cc tu chn ca hm imtransform cho php ta iu khin nhiu kha cnh ca vic bin i. Chng 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. Cu 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,...): Ch 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 Din gii UData C hai tham s ny l cc vector hai phn t thc. Udata v Vdata ch ra v tr VData khng gian ca nh A trong khng gian vo 2 chiu U-V. Hai phn t ca Udata cho to u (honh ) ca ct u tin v cui cng ca A. Hai phn t ca Vdata cho to v ( tung ) ca hng u tin v cui cng ca A. Gi tr mc nh cho Udata v Vdata tng ng l [1 size(A,2) ] v [1 size(A,1) ] Xdata C hai tham s ny l cc vector hai phn t thc ch ra v tr khng gian ca nh ra Ydata B trong khng gian ra 2 chiu X-Y. Hai phn t ca Xdata ch ra honh x ca ct u tin v cui cng ca B. Hai phn t ca Ydata ch ra tung ca hng u tin v cui cng ca B. Nu Xdata v Ydata khng c ch ra, hm imtransform c lng gi tr cho chng c th cha ton b nh ra b bin i XYScale L vector vi mt hoc hai phn t thc. Phn t u tin ca XYScale ch ra chiu rng ca mi pixel vo trong khng gian X-Y. Phn t th hai (nu tn ti) ch ra chiu cao ca mi pixel ra. Nu XYScale ch c mt phn t, gi tr ny s c dng cho c chiu rng v chiu cao. Nu XYScale khng c ch nh nhng Size c ch ra th XYScale c tnh ton t Size,Xdata v Ydata. Size Mt vector hai phn t nguyn khng m. Size ch ra s hng v ct trong nh ra B. Vi chiu cao hn, kch c ca B c ly trc tip t A. Ni cch khc, size(B,k) tng ng vi size(A,k) vi k>2. Nu Size khng c ch nh, n s c tnh t Xdata,Ydata v XYScale

FillValues

Mt mng cha mt hoc nhiu gi tr t (fill values). Fill values c s dng cho cc pixel trn nh ra khi v tr c bin i tng ng trn nh vo hon ton l vin ngoi ca nh ra. nu A l 2 chiu, Fillvalues phi v hng. Tuy nhin, nu chiu ca A ln hn 2, FillValues c th l mt mng m kch thc ca n tho mn rng buc sau: size(fill_values,k) phi bng size(A,k+2) hoc 1. Chng hn, nu A l mt nh RGB unit8 c kch thc 200x200x3 th cc kh nng ca FillValues bao gm: 0: T vi mu en [0;0;0]: T vi mu en 255: T vi mu trng [255;255;255]: T vi mu trng [0;0;255]: T vi mu xanh [255;255;0]: T vi mu vng Nu A l 4 chiu 200x200x3x10 th FillValues c th l 1 v hng 1x10,3x1,3x1

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

You might also like