nén ảnh số dùng matlap

Embed Size (px)

Citation preview

Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 1 Chng 1 GII THIU MATLAB 1.1Tng quan v Matlab 1.1.1 Khi nim v Matlab Matlablmtngnnglptrnhthchnhbccaocsdng 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 liucngvithvinclptrnhsnchophpngisdngcthc 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. -Chophpphttrin,giaotipvimtsphnmmkhcnhC++,Fortran.1.1.2 Tng quan v cu trc d liu ca Matlab, cc ng dng Matlablmththngtnggiao,ccphntdliulmtmng (mng ny khng i hi v kch thc). Chng cho php gii quyt cc vn linquannlptrnhbngmytnh,cbitsdngccphptnhvma trnhayvectorvcthsdngngnngChocFortranlptrnhrithc 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 cchddng,phnmmmatrnnycphttrinbicccngtrnh Linpack v Eispack. Ngy nay Matlab c pht trin biLapack v Artpack to nn mt ngh thut phn mm cho ma trn.a. D liu DliucaMATLABthhindidngmatrn(hocmngtng Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 2 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 nhhn,kiudliunykhngcsdngtrongccphptnh ton hc, chnh xc km hn.-Kiudoublekiunylkiuthngdngnhtcaccbintrong Matlab. -Kiu Sparse.-Kiu uint8,uint16. . . -Kiu char v d Hello-Kiu cell.-Kiu Structure.TrongMATLABkiudliudoublelkiumcnhsdngtrongcc php tnh s hc.b. ng dngMATLABto 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.c. Toolbox l mt cng c quan trng trong Matlab Cng c nycMATLAB cung cp chophp 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.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 Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 3 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,atan2etc...,ccphptnhnginnccphptnhphctpnhtnh ma trn nghch 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. ha trong MATLAB. Bao gm cc cu lnh th hin ho 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.Giaotipviccngnngkhc.MATLABchophptngtcvicc ngn ng khc nh C, Fortran 1.1.4Lm quen vi matlab nh a s desktop (ca s ln nht), v cc ca s ph ca n. Trc tin khi ng MATLAB bn click vo biu tng MATLAB.exe, trnmnhnhxuthincassau.(Xemhnhv1.1)Caschacc Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 4 thanhcngc(Giaodinngivmy)cnthitchovicqunlccfiles, 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. 1.1.5 Cc ca s Lm vic ca MATLAB a. Ca s Command windowLcasgiaotipchnhcaMatlabbiylninhpgitrcc bin, hin thgi tr, tnh ton gi tr ca biu thc,thc thi cc hm c sn trongthvin(dnglnh),hoccchm(dngfunction)dongidnglp trnh ra trong M_files.Cclnhcnhpsaudunhc>>,vnucsaisttrongqu 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 clu vi tn file l ve_sin.m Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 5 b. Ca s command History CcdngmbnnhpvotrongcasCommandwindow(ccdng ny c th l dng nhp bin, hoc c th l dng lnh thc hin hm no ) cgilitrongcasCommandHistory,vcasnychophptas dng li nhng lnh bng cchclick chut ln cc lnh hoc cc bin, nu nh bn mun s dng li bin . click ichut lnlnh hocbin sdng li c. Ca s Workspace L ca s th hin tn cc bin bn s dngcng vi kch thc vng nh(sbytes),kiudliu(lp),ccbincgiiphngsaumilntt chng trnh. Click ichut lnbin xem dliu(hocthay igi tr) Ngoiranchophpthayigitri,cngnhkchthccabin bng cch click i chut ln cc bin. Hoc click vo nt bn tri ngay cnh nt save V d khi chn bin (gi th l bin b) ri click (hoc click chut vo nt cnh nt save) ta c ca s sau gi l Array Editor. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 6

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 cththayikchthcnybngcchthayisctrongkchthc size.Dng ca s ny lu cc bin di l d liu ca bin b, ta c th thayichngbngcchthayigitrtrongccTtcccbinu 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 sM-fileLmtcasdngsonthochngtrnhngdng,thcthi chng trnh vit trong M-file bng cch g tn ca file cha chng trnh trong ca s Commandwindow.KhimtchngtrnhvittrongM-file,thtutheongdngcth,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. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 7 - Dng hm function: c bin d liu vo v bin ra. 1.2 Cc hm chuyn i kiu nhVi 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 nh mu c lu tr di dng nh s, u tin ta nn chuyn i n thnh dng nh RGB. Khi tapdngphplctinhRGB,Matlabslcgitrcngtngng trongnh.NutalcnhsMatlabnginchptphplctimatrn nh 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 vicchuyn i 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 trng (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:Tomtnhnhphntmtnhcng,nhchshaynh RGB trn c s ca ngng nh sng. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 8 + ind2gray: To mt nh cng en trng t mt nh ch s. + ind2rgb: To mt nh RGB t mt nh ch s.+mat2gray:Tomtnhcngentrngtdliutrongmtmatrn 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 caMatlab.Chnghn,tacthconvertmtnhcngsangnhRGB bng cchghp 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. 1.3 Giao din ho GUI 1.3.1 Khi nim tin cho vic s dng cc ng dng hay chng trnh m ta vit chngtacthtoragiaodinhaGUI(GraphicUserInterface)gia ngi dng v matlab. Trong giao din ny ta c th xut d liu di hai dng vn bn v ha. Mi mt GUI c th c mt hay nhiu giao din. Vic to GUI to nn mt cng c nhp xut d liu mt cch trc quan, nhanh chng v rt thun tin. Ngoi ra c th dng GUI gim st cc qu trnh, hin th cc i tng 1.3.2 Cch to GUIC hai cch to ra GUI: To GUI bng cch vit lnh trc tip trong M-file v to GUI bng cng c ha. 1.3.2.1 To GUI bng lnh to giao din GUI nh hnh bn di ta lm cc bc sau: Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 9 B1:TokhunggiaodinvttnchoGUIvitnWelcometoGUIvi nhng dng lnh sau: namefig= 'Welcome to GUI';figpos = get(0,'DefaultFigurePosition'); % lay vi tri mac nhienfigpos(1)= figpos(1)-10;figpos(2)= figpos(2)-10; figpos(3)= figpos(3)+10;figpos(4)= figpos(4)+10;% Tao figurefig=figure( ...'Name', namefig, ...'NumberTitle','off', ...'Position',figpos); Ta thu c hnh bn: Hnh 1.2 Giao din GUI Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 10 B2: To khung ha truy xut nh v dng ch Interface Matlab axs=axes('Position',[0.05 0.4 0.65 0.55]); % text txtpos=[10 50 425 50];txt=uicontrol(...'Style','text',...'BackgroundColor',[0.8 0.8 0.8],...'ForegroundColor',[0 0 1],...'String','Interface Matlab ',... 'Position',txtpos,...'Fontname','Times New Roman',... 'FontWeight','Bold',...'FontSize',34); Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 11 B3:ToccntnhnctnSphere,Picture,Closevvitlnhcho chng. %Close button closeHndl=uicontrol(... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[p1+0.01 p4-0.35 p3-0.025 0.05], ... 'String','Close', ... 'Foregroundcolor','b',... 'Fontsize',9,... 'Callback','close');%Sphere buttonsph=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[p1+0.01 p4-0.1 p3-0.025 0.05], ... Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 12 'String','Sphere', ... 'Foregroundcolor','b',... 'Fontsize',9,... 'Callback',['[x,y,z]=sphere(35);', 'surfl(x,y,z);', 'axis equal']);%Picture button pic=uicontrol(...'Style','pushbutton', ...'Units','normalized', ...'Position',[p1+0.01 p4-0.225 p3-0.025 0.05], ...'String','Picture', ...'Foregroundcolor','b',...'Fontsize',9,...'Callback','imshow(uigetfile(''*.bmp;*.BMP;*.tif;*.TIF;*.jpg''))');Kt qu ta thu c: nh 3 Kt qu thu c bng lnh Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 13 1.3.2.2 To GUI bng cng c ha Trn y ta xem xt cch to GUI bng phng php th cng. Ta c th to GUI bng cng c ho. Bng hai cch nh sau:. Hnh 1.4: To giao din GUICch 1: G lnh guide trong ca s command Window Cch 2: Click chut vo biu tngguide( )trn thanh cng c. Khi g lnh guide ta thy xut hin mt hp th thoi nh hnh sau: Create New GUI: to giao din GUI mi. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 14 Open Existing GUI: m nhng giao din c trc. ChngtachnCreateNewGUIsauchnBlankGUI(Default) to GUI trng v thit lp cc thng s theo yu cu. Kt qu cho ra mt layout rng nh hnh bn: Sau khi m hp thoai to GUI ta lm cc bc sau: B1: thit k giao din GUI nh bi trn c hnh sau: Son tho thuc tnh Chy th Son Menu Cc phn t thit k Vng thit k Vit lnh Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 15 nh 5 a s thit k giao din GUI B2: Vit lnh cho cc nt nhn (button). Function sph_Callback(hObject, eventdata, handles) [x,y,z]=sphere(35); surfl(x,y,z); axis equal Function pic_Callback(hObject, eventdata, handles) imshow(uigetfile({'*.tif;*.bmp;*.gif;*.jpg'},'pick an image file')) Function clo_Callback(hObject, eventdata, handles) Close Kt qu thu c: nh 6 Kt qu thu c bng cng c ha Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 16 Chng 2 NN NH S 2.1 Cc khi nim v nh 2.1.1 im nh (Picture Element) Gc ca nh (nh t nhin) l nh lin tc v khng gian v sng. x l bng my tnh (s), nh cn phi c s ho. S ho nh l s bin i gnngmtnhlintcthnhmttpimphhpvinhthtvvtr (khnggian)vsng(mcxm).Khongcchgiaccimnhc thit lp sao cho mt ngi khng phn bit c ranh gii gia chng. Mimtim nh vygi lim nh (PEL: PictureElement) haygi tt l Pixel. Trong khun kh nh hai chiu, mi pixel ng vi cp ta (x, y). Hnh 2.1 Hnh minh ha ca pixel nh ngha: im nh (Pixel) l mt phn t ca nh s ti to (x, y) vi xm hocmunhtnh.Kchthcvkhongcchgiaccimnhc 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. 2.1.2 Mc xm ca nh Mtimnh(pixel)chaictrngcbnlvtr(x,y)caim nh v xm ca n. Di y chng ta xem xt mt s khi nim v thut ng thng dng trong x l nh. a)nhngha:Mcxmcaimnhlcngsngcanc 1 pixel Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 17 gn bng gi tr s ti im . Hnh 2.2 Hnh biu din mc xm ca nh s b) 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 dinmc xm:Mc xmdng 1 byte biu din: 28=256mc, tc l t 0 n 255).c) nh en trng:nh en trng ch bao gm 2 mu: mu en v mu trng (khng cha mu khc) vi mc xm cc im nh c th khc nhau. Ngi ta phn mc en trng thnh L mc Nu s dng s bit B=8 bit m ha mc en trng (hay mc xm) th L c xc nh :L=2B (trong v d ca ta L=28= 256 mc) Nu L bng 2, B=1, ngha l ch c 2 mc: mc 0 v mc 1, cn gi l nh nh phn. Mc 1 ng vi mu sng, cn mc 0 ng vi mu ti. Nu L ln hn 2 ta c nh a cp xm. Ni cch khc, vi nh nh phn mi im nh c m ha trn 1 bit, cn vi nh 256 mc, mi im nh c m ha trn 8 bit. Nh vy, vi nh en trng: nu dng 8 bit (1 byte) biu dinmc xm, s ccmc xm c th biu din c l 256. Mimcxmc biu din di dng l mt s nguyn nm trong khong t 0 n 255, vi mc 0biudinchomccngennhtv255biudinchomccng sng nht.nh nh phn kh n gin, cc phn t nh c th coi nh cc phn t logic. ng dng chnh ca n c dng theo tnh logic phn bit i tng Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 18 nh vi nn hay phn bit im bin vi im khc. d)nhmu:trongkhunkhlthuytbamu(Red,Blue,Green) tonnthgiimu)trongR,G,Blmtgitrxmvcbiubiu din bng 1 byte, khi cc gi tr mu: 28*3=224 16,7 triu mu. Mimu cng phn thnh L cpmu khc nhau (thng L=256).Mi khong ny biu din cho cng sng ca mt trong cc mu chnh. Do , lutrnhmungitacthlutrtngmuringbit,mimulu trnhmtnhacpxm.Do,khnggiannhdnhchomtnhmu ln gp 3 ln mt nh a cp xm cng kch c. P(x, y) = (R, G, B) - H mu CMY: l phn b ca h muRGB (C, M, Y)=(1, 1, 1)-(R, G, B) HayC+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) Hnh 2.3 H ta RGB 2.1.3 nh ngha nh s Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 19 nhsltphpccimnhvimcxmphhpdngmt nh gn vi nh tht. Mtnhsgiscbiudinbnghmf(x,y).Tpconccim nh l S; cp im nh c quan h vi nhau k hiu l p, q. 2.2 Mt s khi nim nn nh s 2.2.1.Nn d liu (Data Compression) Nndliulqutrnhlmgimlngthngtin"dtha"trongd liu gc v do vy, lng thng tin thu c sau nn thng nh hn d liu gc rt nhiu. Vi d liu nh, kt qu thng l 10 : 1. Mt s phng php cnchoktqucaohn.Theoktqunghincuccngbgnyti vin k thut Georgie,k thut nn fractal cho t s nn l 30 trn 1.Ngoi thut ng "nn d liu, do bn cht ca k thut nyn cn c mt s tn gi khc nh: gim d tha,m ho nh gc.T hn hai thp k nay, c rt nhiu k thut nn c cng b trn cc ti liu v nn v cc phn mmnn d liu xut hin ngy cng nhiu trnthngtrng.Tuynhin,chacphngphpnnnoccoil phngphpvnnng(Universel)vnphthucvonhiuyutvbn cht ca d liu gc. Trong chng ny, chng ta khng th hy vng xem xt tt c cc phng php nn. Hn na, cc k thut nn d liu chung c trnhbytrongnhiutiliuchuynngnh.y,chngtachcpcc phng php nn c c th ring cho d liu nh.2.2.2.T l nn (Compression rate) Tlnnlmttrongccctrngquantrngnhtcamiphng php nn. Tuy nhin, v cch nh gi v cc kt qu cng b trong cc ti liu cngcncquantmxemxt.Nhnchung,ngitanhnghatlnn nh sau: T l nn = 1rx % Vir: l t s nn c nh ngha: r = kch thc d liu gc/ kch thc d liu thu c sau nn. Nh vy hiu sut ca nn l: (1-t l nn) x %. Khi ni n kt qu nn, chng ta dng t s nn, th d nh 10 trn 1 Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 20 c ngha l d liu gc l 10 phn sau khi nn ch c 1 phn.Tuy nhin, cng phithy rng nhng s o ca mtphng php nn ch c gi tr vi chnh s nn , v rng hiu qu ca nn cn ph thuc vo kiu d liu nh nn. T l nn cng ch l mt trong cc c trng c bn ca phng php nn. Nhiu khi t l nn cao cng cha th ni rng phng php lhiuquhnccphngphpkhc,vcnccchiphkhcnhthi gian,khnggianvthmchcphctptnhtonna.Thdnhnn phcvtrongtruyndliu:vntralhiuqunnctnghpvi ng truyn khng.Cngcnphnbitnndliuvinnbngtruyn.Mcchchnh cannlgimlngthngtindthavdntigimkchthcdliu. Tuy vy,i khi qu trnh nn cng lm gim bng truyn tn hiu s ho thp hn so vi truyn tn hiu tng t.2.2.3. Cc loi d tha d liu Nh trn ni, nn nhm mc ch gim kch thc d liu bng cch loi b d tha d liu. Vic xc nh bn cht cc kiu d tha d liu rt c ch cho vic xy dng cc phng php nn d liu khc nhau. Ni mt cch khc, cc phng php nn d liu khc nhau l do s dng cc kiu d tha d liu khc nhau. Nn c4kiu d tha chnh: a. S phn b k t Trongmtdykt,cmtsktctnsutxuthinnhiuhn mt s dy khc. Do vy, ta c th m ho d liu mt cch c ng hn. Cc dyktctnsutcaocthaybimttmnhphnvisbtnh; ngc li cc dy c tn sut thp s c m ho bi t m c nhiu bt hn. y chnh l bn cht ca phng php m ho Huffman. b. S lp li ca cc k t Trong mt s tnh hung nh trong nh, 1 k hiu (bit "0" hay bit "1") c lp i lp li nhiu ln. K thut nn dng trong trnghp ny l thay dylpbidymigm2thnhphn:slnlpvkhiudngm. PhngphpmhokiunyctnlmholotdiRLC(RunLength Coding). Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 21 c. Nhng mu s dng tn sut C th c dy k hiu no xut hin vi tn sut tng i cao. Do vy,c th m ho bi t bit hn. y l c s ca phng php m ho kiu t in do Lempel-Ziv a ra v c ci tin vo nm 1977, 1978 v do c tn gi l phng php nn LZ77, LZ78.Nm 1984, TerryWelch ci tin hiu qu hn v t tn l LZW (Lempel-Ziv- Welch). d. d tha v tr Do s ph thuc ln nhau ca d liu, i khi bit c k hiu (gi tr) xut hin ti mt v tr, ng thi cth on trc s xut hin ca cc gi tr cc v tr khc nhau mt cch ph hp. Chng hn, nh biu din trong mt lihaichiu,mtsimhngdctrongmtkhidlulixuthin trong cng v tr cc hng khc nhau. Do vy, thay vlu tr d liu, ta ch cn lu tr v tr hng v ct. Phng php nn da trn s d tha ny gi l phng php m ho d on.Cch nh gi d tha nh trn hon ton mang tnh trc quan nhm biu thmt ci gxut hin nhiu ln. i vi d liunh, ngoi c th chung ,n cn c nhng c th ring. Th d nh c ng dng khng cn ton b d liu th ca nhm ch cncc thng tin c trng biu dinnh nhbinnhhayvngngnht.Dovy,cnhngphngphpnnring cho nh da vo bin i nh hay da vo biu din nh.2.2.4. Phn loi cc phng php nn C nhiu cch phn loi cc phng php nn khc nhau.-Cchphnloithnht:davonguynlnn.Cchnyphncc phng php nn thnh2 h ln: Nnchnhxchaynnkhngmtthngtin:Hnybaogmcc phng php nn m sau khi gii nn ta thu c chnh xc d liu gc. Nn c mt mt thng tin: H ny bao gm cc phng php m sau khi gii nn ta khng thu c d liu nh bn gc. Trong nn nh,ngi ta gi l cc phng php" tm l th gic". Cc phng php ny li dng tnh cht ca mt ngi, chp nhn mt s vn xon trong nhkhikhi phc li. Ttnhin,ccphngphpnychchiuqukhimvnxonlchp Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 22 nhn c bng mt thng hay vi dung sai no .-Cchphnloithhai:davocchthcthchinnn.Theocch ny,ngi ta cng phn thnh hai h: Phngphpkhnggian(SpatialDataCompression):Ccphng php thuc h ny thc hin nn bng cch tc ng trc tip ln vic ly mu ca nh trong min khng gian. Phng php s dng bin i (Transform Coding): Gm cc phng php tc ng ln s bin i ca nh gc m khng tc ng trc tip.-Cchphnloithba:davotritlcasmho.Cchnycng phn cc phng php nn thnh 2 h: Cc phng php nn th h th nht: Gm cc phng php m mc tnh ton l n gin, th d nh vic ly mu, gn t m,... Cc phng php nn th h th hai: Da vo mc bo ho ca t l nn. Trong cc phn trnh by di y,ta s theo cch phn loi ny. Cng cn phi k thm mt cch phn loi th t do Anil. K. Jain nu ra. Theo cch ca Jain,cc phng php nn gm 4 h chnh: Phng php im. Phng php d on. Phng php da vo bin i. Cc phng php t hp (Hybrid).Thc ra cch phn loi ny l chia nh ca cch phn loi th ba v da vo c ch thc hin nn. Xt mt cch k lng n cng tng ng cch phn loi th ba.Nhnchung,qutrnhnnvgiinndliucthmtmtcchtmtt theo s di y. Qu trnh nnD liu gcD liu nn Qu trnh gii nn nh 24S chc nng qu trnh nn d liu Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 23

2.3 Bin i cosine ri rc (DCT- Discrete cosine Transform) 2.3.1 Phng php bin i Binicosinerirc(DCT)biudinnhdidngtngcacc cosine ca cc thnh phn bin v tn s khc nhau ca nh. Hm dct2 tnh DCT hai chiu camt nh. DCT c tnh cht mvi cc nh in hnh, hu ht cc thng tin v nh ch tp trung trong mt vi h s ca DCT, trong khi cc h s cn li ch cha rt t thng tin. V l do ny, DCT thng c s dng trong cc ng dng nn nh khc nhau nh hiu sut gn nh ti u ca niviccnhctngquancaogiaccimnhlncn.Chng hn, DCT l trung tm ca gii thut nn nh theo chun quc t thng c bitvitnJPEG(tnnydonhmphttrintra:JointPhotographic Experts Group)DCT hai chiu ca ma trn A c kch thc MxN c nh ngha nh sau : 1 10 0(2 1) (2 1)cos cos2 2M Npq p q mnm nm p n qB AM Nt to o = =+ +=vi 0 10 1p Mq Ns s s s Trong : 1/(2/ )pMMo=

00 1pp M=s s v 1/(2/ )qNNo=

00 1qq N=s s Cc gi trBpq c gi l cc h s ca bin iDCT. DCT c th bini ngc c v bin i ngc ca n cho bi cng thc : 1 10 0(2 1) (2 1)cos cos2 2M Nmn p q pqp qm p n qA BM Nt to o = =+ +=vi 0 10 1m Mn Ns s s s Trong : 1/(2/ )pMMo=

00 1pp M=s s v 1/(2/ )qNNo=

00 1qq N=s s BiuthcDCTngccthcxemxtkhicoirngmimatrnAkch thc MxN nh l tng ca MN hm c dng : (2 1) (2 1)cos cos2 2p q pqm p n qBM Nt to o+ + Nhng hm ny c gi l nhng hm c s ca DCT. H s DCT Bpq cthcxemnhtrngschomihmcs.Viccmatrn8x8,64 Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 24 hm c s c minh ho bi nh sau: nh 25 nh minh ha ma trn 8x8 2.3.2 Nn tn hao da vo DCT Giithutnnctnhaocbitnnhiunhtcllgiithut dng DCT. y l gii thut c chun ha vi tn gi JPEG (ly t tn gi ca t chc nh ra tiu chun nn ny: Joint Photographic Experts Groups (Nhmlienktccchuyngiaxlnh).ChunJPEGcsdngm ho nh a mc xm, nh mu. N khng cho kt qu n nh lm vi nh en trng. ChunJPEG cung cp gii thut cho c hai loi nn lnnkhngmtmt thng tin v nn mt mt thng tin. S khi ca gii thut nn v gii nn nh JPEG: NH GC Phn kh i 8x8 8x8 8x8 Lng t ho Bng lng t ...... M ho Bng m NH NN DCT Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 25 Hnh 2.6S khi ca gii thut nn v gii nn nh JPEG nn nh theo gii thut JPEG, ta chia nh thnh cc khi 8x8 (hoc 16x16). Mi khi 8x8 ny s c x l ring bit qua cc bc ca qu trnh nnnh.utin,tathchinbiniDCTthunivimikhi.Nh chngtabit,doccinnhkcnnhauthngctnhtngquanrt cao, php bin i DCT thun c xu hng tp trung huht nnglng ca bc nh vo trong mt vi h s DCT tn s thp. y l c s ta thc hin nn nh. Vi mt khi nh kch thc 8x8 trch t nh ngun, hu ht cc h s ca n u bng 0 hoc gn bng 0. Nh vy, ta c th khng cn biu din cchsnykhitruyndliunhi.LurngbnthnbiniDCT khng lm mt mt thong tin ca nh gc, n ch chuyn cc thng tin ny v mt dng khc m ta c th m ha mt cch hiu qu hn. Sau khi qua b bin i DCT, mi h s trong s 64 h s bin i DCT c lng t ha da vomt bng gi tr lng t c thit kk lng. Mtphngphplngtngincthdnglchgilimtvihs DCT tn s thp (cc h s c gi tr ln) cn tt c cc h s cn li gn bng 0. trong chun nn JPEG, mi h s DCT s c chia cho mt trng s v tr tng ng trong mt ma trn lng t 8x8, sau lm trn v s nguyn gn nht. Sau khi lng t ha, cc h s bin i DCT s c sp xp theo mt chui zig-zag bt u t thnh phn DC, ri n thnh phn AC Cui cng cc h s ny c chuyn thnh chui bit nh phn bng k thut m haa ra nh nn. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 26 cngongiim,bgiimsthhinqutrnhngcli:Gii m entropy, sau nhn cc h s thu c vi phn t tng ng ca ma trn lng t, ri bin ingc DCT ti to li nh ban u.a.Phn khi Chun nn JPEGphn nh ra cc khi 8x8. Cng on bin i nhanh Cosinhaichiuchocckhi8x8trahiuquhn.BiniCosinchocc khi c cng kch c c th gim c mt phn cc tnh ton chung nh vic tnh h s Cji. Khi n=8 chng ta ch cn tnh h s Cji cho 3 tng (8= 23), s cc h s l: 4 + 2 + 1 = 7. Nu vi mt nh 1024x1024, php bin i nhanh Cosin mt chiu theo hng ngang hoc hng dc taphi qua 10 tng (1024 = 210). S cc h s Cji l: 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 1021. Thi gian tnh cc h s Cji vi ton b nh 1024x1024 ln gp 150 ln so vi thi gian tnh ton cc h s ny cho cc khi. Bin i Cosin i vi cc khi c kch thc nh s lm tng chnh xc khi tnh ton vi s du phy tnh, gim thiu sai s do lm trn sinh ra. Do cc im nh k cn c tng quan cao hn, do php bin i Cosin cho tng khi nh s tp trung nng lng hn vo mt s t cc h s bin i. Vic loi bt mt s h s nng lng thp trong cc khi ch to ra mt mt thng tin cc b gip nng cao cht lng nh. nh s c chia lm B khi vi:

BNBMlNkMB = =|.|

\||.|

\|' ' Cc khi c xc nh bi b s (m,n) vi m = [0..MB-1] v n=[0..NB-1],ymchthtcakhitheochiurng,nchthtcakhitheo chiu di. Phn khi thc cht l xc nh tng quan gia to ring trong khi vi to thc ca im nh trong nh ban u. Nu nh ban u k hiu Image[i,j] th ma trn biu din khi (m,n) l x[u,v]c tnh: | | v nl u mk age v u x + + = , Im ] , [ Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 27 16) 1 2 (16) 1 2 () ,7070(4) , (2 2 1 12 1122 12 1H + H +===k nCosk nCos k nkkk X n n xc cb.Bin i Bin i l mt cng on ln trong cc phng php nn s dng php bin i. Nhim v ca cng on bin i l tp trung nng lng vo mt s t cc h s bin i. Cng thc bin i cho mi khi l: Trong ) 8 0 (0021111< < ==kkkhikhikc ) 8 0 (0021222< < ==kkkhikhikc ThuttonbininhanhCosinhaichiuchomikhitrongtrng hp ny s bao gm 16 php bin i nhanh Cosin mt chiu. u tin, ngi tabininhanhCosinmtchiuchoccdyimnhtrnmihng.Ln ltthchincho8hng.SauembininhanhCosinmtchiutheo tng ct ca ma trn va thu c sau 8 php bin i trn. Cng ln lt thc hin cho 8 ct. Ma trn cui cng s l ma trn h s bin i ca khi tng ng.TrongsgiinntaphidngphpbiniCosinngc.Cng thc bin i ngc cho khi 8x8: ) 8 0 (0021111< < ==kkkhikhikc Trong ) 8 0 (0021222< < ==kkkhikhikcc.Lng t ha Khilngthotrongsnnngvaitrquantrngvquyt 16) 1 2 (16) 1 2 () ,7070(4) , (2 2 1 12 11 22 12 1H + H +===k nCosk nCos n nn nx k k Xk k c c Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 28 nh t l nn ca chun nn JPEG. u voca khi lng t ho l cc ma trn h s bin i Cosin ca cc khi im nh. gim s b lng t, ngi ta tm cchquy cc h s cc khi vcngmt khong phn b. Chunnn JPEG ch s dng mt b lng t ho. Gisrngcchsuchmtnhxcsutxuthinnhnhau.Chngtas cn chnh li h s yjbng php gn: jj jjyyo = Vij l trung bnh cng ca h s th j. oj l lch c bn ca h s th j. d.Nn uvocakhinngmhaithnhphn:thnhphncchsmt chiu v thnh phn cc h s xoay chiu. Thnh phn cc h s mt chiu Ci(0,0)vi i = 0,1,..., 63 cha phn lnnnglngtnhiuhnhnh.Ngitakhngnntrctipccgitr Ci(0,0) m xc nh lch ca Ci(0,0): ) 0 , 0 ( ) 0 , 0 (1 i i iC C d =+ dicgitrnhhnnhiusoviCinntrongbiudinduphyngtheo chun IEEE754 thng cha nhiu chui bit 0 nn c th cho hiu sut nn cao hn.GitrC0(0,0)vcclchdicghiramttptm.Tpnyc nn bng phng php nn Huffman.ThnhphncchsxoaychiuCi(m,n)vi1sms7,1sns7 cha cc thng tin chi tit ca nh. nng cao hiu qu nn cho mi b h s trongmtkhingitaxplichngtheothtZigZag.Cthhnhdung hnh ZigZagnh bng trang bn. TcdngcaspxplitheothtZigZagltoranhiuloths ging nhau. Chng ta bit rng nng lng ca khi h s gim dn t gc trn bntrixunggcdibnphinnvicspxplicchstheotht ZigZagstoiukinchocchsxpxnhau(cngmclngt)nm trn mt dng. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 29 MikhiZigZagnycmhotheophngphpRLE.Cuimi khi u ra ca RLE, ta t du kt thc khi EOB (End Of Block).Sau , cc khi c dn li v m ho mt ln bng phng php m Huffman.Nhcduktthckhinncthphnbitchaikhicnh nhau khi gii m Huffman. Hai bng m Huffman cho hai thnh phn h s tt nhin skhc nhau. c th gii nn c, chng ta phi ghi li thng tin nh: kch thc nh, kch thc khi, ma trn T, lch tiu chun, cc mc to li, hai bng m Huffman, kch thc khi nn mt chiu, kch thc khi nn xoay chiu... v ghi ni tip vo hai file nn ca hai thnh phn h s. Tm li, DCT lm gim tng quan khng gian ca thng tin trong block (khi). iu cho php biu din thch hp min DCT do cc h s DCT c xu hng c phn d tha t hn. iu ny c ngha l DCT gi mt phn ln nng lng tn hiu vo cc thnh phn bini c tn s tng i thp lu tr hoc truyn dn, to 0 v cc gi tr rt thp i vi thnh phn tn s cao. Nh c tnh ca h thng nhn ca mt ngi, cc h s DCT c thcmhaphhp,chcchsDCTquantrngnhtmicm havtruyni.DCTthunkthpviDCTnghchskhngchotntht 0 23910202135 1481119223436 57121823333748 613172432384749 1416253139465057 1526304045515658 2729414452555962 2842435354606163 Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 30 nu di t m ca h s l 13 n 14 bits cho tn hiu video u vo c s habngccmudi8bit.Nuhsclngthabng11bit(hoc ngn hn), th nn bng DCT s c tn hao. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 31 Chng 3 CHNG TRNH NN NH 3.1 Giao din chng trnh nh 3 Giao din chng trnh 3.2 M hnh nn 3.3 Qu trnh nn v gii nn DCT Khi chn nh gc a vo nn DCT, trc khi nn ta kim tra nh c phi l nh xm khng. Nu khng phi th chuyn n v dng nh xm sau thc hin cc bc nn nh nh sau: B1: Chuyn d liu nh sang kiu double. B2: Chia nh gc ra thnh nhiu khi (nh con) kch thc 8x8. B3:BinithunDCTivimikhinh8x8.Tacthtoma trn bin i DCT A kch thc NxN bng hm: A=dctmtx(N). V d: A=dctmtx(8) Ma trn bin i DCT A c gi tr: 0.35360.35360.35360.35360.35360.35360.35360.3536 0.49040.41570.27780.0975-0.098-0.278-0.416-0.49 0.46190.1913-0.191-0.462-0.462-0.1910.19130.4619 0.4157-0.098-0.49-0.2780.27780.49040.0975-0.416 Lng t ha nh Gc nh con 8x8 nh con 8x8 nh con 8x8 nh con 8x8 DCT M ha nh nn Bng lng t ha Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 32 0.3536-0.354-0.3540.35360.3536-0.354-0.3540.3536 0.2778-0.490.09750.4157-0.416-0.0980.4904-0.278 0.1913-0.4620.4619-0.191-0.1910.4619-0.4620.1913 0.0975-0.2780.4157-0.490.4904-0.4160.2778-0.098 B4: Lng t ha cc h s DCT. Thchinlngthabngcchnhncckhinh8x8bini DCT vi bng lng t ha, y n l mt mt n (mask) ma trn 8x8. Mc chcabcnylnhmchgilinhngphntmangnnglngca khi nh hay ni chnh xc l 10 phn t u tin ca khi nh 8x8. Mt n (mask) ma trn 8x8 gi li 10 phn t: 11110000 11100000 11000000 10000000 00000000 00000000 00000000 00000000 B5: Gii m cho ra nh (nn + gii nn DCT). V d: Thc hin nn v gii nn DCT i vi nh Cameraman.tif. B1 Chuyn d liu nh sang kiu double. I = imread('cameraman.tif'); I = im2double(I); B2:Chianhgcrathnhnhiukhi:(nhcon)kchthc8x8.Mt khi nh 8x8 c chia c gi tr pixel: 0.61180.62350.61960.60780.61960.61180.62350.6196 0.62750.60390.61570.61960.61570.62350.61960.6196 0.61180.62350.61960.60780.61960.61180.62350.6196 0.62750.60390.61570.61960.61570.62350.61960.6196 0.61180.60.60780.62350.62350.60780.61180.6078 0.60780.60780.60780.61570.61180.62350.59610.6196 Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 33 0.61180.60.61570.61180.60.60780.60390.6078 0.62350.62350.61180.61960.61180.62350.61570.6314 B3: Bin i DCT 4.9211-0.0080.00260.00180.00930.00410.0101-0.002 0.015-0.0030.00210.0028-0.0080.0008-0.0090.0157 0.0080.0020.0132-0.006-0.009-0.006-0.002-0.003 -0.020.0003-0.012-0.0020.0036-0.0040.0021-0.001 0.0132-0.0020.00130.00240.00340.0011-0.0080.0021 -0.0080.00360.0044-0.006-0.010.00020.00150.0056 0.0078-0.0030.004-0.005-0.008-0.021-0.008-0.003 -0.0110.0039-0.005-0.008-0.005-0.002-0.0150.0123 B4: Lng t ha 4.9211-0.0080.00260.00180000 0.015-0.0030.002100000 0.0080.002000000 -0.020000000 00000000 00000000 00000000 00000000 B5: Gii m 0.61580.61510.61460.61480.61580.6170.61790.6183 0.61790.61740.61690.61720.61830.61950.62040.6208 0.61850.61810.61780.61820.61930.62060.62140.6218 0.61510.61480.61460.61520.61630.61750.61820.6184 0.61030.61010.610.61050.61160.61250.6130.6131 0.6090.60880.60870.60920.610.61060.61080.6108 0.61250.61230.61210.61250.61310.61340.61340.6131 0.61670.61650.61630.61660.6170.61720.6170.6166 nh cui cng cho ra cc thng s gi tr pixel nh bng trn v kt qu thu c hnh nh bn di. Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 34 a)b) nh 32 a) nh gc; b) nh nn 3.4 Cc on m lnh 3.4.1 Chn nh function chonanh_Callback(hObject, eventdata, handles) [filename,pathname]=uigetfile({'*.tif;*.bmp;*.gif;*.jpg'},'pick an image file'); S=imread([pathname,filename]); axes(handles.anh1); imshow(S); guidata(hObject, handles); 3.4.2 Nn DCT function nen_Callback(hObject, eventdata, handles) S=handles.S; axes(handles.anh2); if size(S,3)==3 S=rgb2gray(S); end I = im2double(S); T = dctmtx(8); B = blkproc(I,[8 8],'P1*x*P2',T,T'); mask = [1 1 1 1 0 0 0 0 Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 35 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2 = blkproc(B,[8 8],'P1.*x',mask); I2 = blkproc(B2,[8 8],'P1*x*P2',T',T); imshow(I2) handles.I2=I2; guidata(hObject, handles); 3.4.3 Xem Pixel nh gc function pixel_goc_Callback(hObject, eventdata, handles) S=handles.S; axes(handles.anh3); if size(S,3)==3 S=rgb2gray(S); end I=im2double(S); I1=imresize(I,[8 8]); himage=imshow(I1); hfigure=figure; hpanel=impixelregionpanel(hfigure,himage); 3.4.4 Xem Pixel nh nn function pixel_nendct_Callback(hObject, eventdata, handles) S=handles.S; axes(handles.anh4); if size(S,3)==3 S=rgb2gray(S); end Nn nh S S Dng Matlap Svth: Hong Cao phi-081481D 36 I=im2double(S); I1=imresize(I,[8 8]); T=dct2(I1); himage=imshow(T); hfigure=figure; hpanel=impixelregionpanel(hfigure,himage); 3.4.5 Xem gi tr tng Pixel function ketqua_Callback(hObject, eventdata, handles) S=handles.S; if size(S,3)==3 S=rgb2gray(S); end I=im2double(S); A=imresize(I,[8 8]); p=get(handles.hang,'string');%gn p gi tr chui trong handles.hang q=get(handles.cot,'string');%gn q gi tr chui trong handles.cot p=str2num(p);%chuyn t gi tr chui sang gi tr s q=str2num(q); p=round(p);%lm trn gi tr s q=round(q); c=0; p1=0; q1=0; goc=0; if (p>0)&(q>0)if (p