2014-7×Ô±àÊý×ÖͼÏñ´¦ÀíʵÑé-²Î¿¼´ð°¸ ÏÂÔر¾ÎÄ

н®´óѧÐÅÏ¢¿ÆѧÓ빤³ÌѧԺ

PSF=fspecial('motion',LEN,THETA); E=imfilter(a,PSF,'circular','conv'); LEN=100; THETA=10;

PSF=fspecial('motion',LEN,THETA); F=imfilter(a,PSF,'circular','conv'); LEN=20; THETA=10;

PSF=fspecial('motion',LEN,THETA); M=imfilter(a,PSF,'circular','conv'); subplot(2,4,1),imshow(a); subplot(2,4,2),imshow(e); subplot(2,4,3),imshow(f); subplot(2,4,4),imshow(m); subplot(2,4,5),imshow(E); subplot(2,4,6),imshow(F); subplot(2,4,7),imshow(M);

3¡¢¶Ô1,2²úÉúµÄͼÏñ·Ö±ð½øÐи´Ô­£¬Ñ¡ÓÃÄæÂ˲¨·¨£¬¸Ä½øÄæÂ˲¨Æ÷·¨½øÐÐͼÏñ¸´Ô­.£¨ÐèÒª±à³Ì£¬ÎªÑ¡×÷Ì⣩£¬ÏÔʾ´¦Àí½á¹û¡£

4¡¢¶Ô1,2²úÉúµÄͼÏñ·Ö±ð½øÐи´Ô­£¬Ñ¡ÓÃάÄÉÂ˲¨Æ÷½øÐÐͼÏñ¸´Ô­£¬ÏÔʾ´¦Àí½á¹û¡£

²Î¿¼³ÌÐòÈçÏ£º

ÔÚ1,2²úÉúµÄͼÏñºó¿É¼ÓÒ»¶Î£º

figure,

wnr1=deconvwnr(b,PSF); subplot(2,3,1),imshow(wnr1); wnr2=deconvwnr(d,PSF); subplot(2,3,2),imshow(wnr2); wnr3=deconvwnr(e,PSF); subplot(2,3,3),imshow(wnr3); wnr4=deconvwnr(f,PSF); subplot(2,3,4),imshow(wnr4); wnr5=deconvwnr(m,PSF); subplot(2,3,5),imshow(wnr5);

5¡¢¶Ô1,2²úÉúµÄͼÏñʹÓÃάÄÉÂ˲¨Í¼Ïñ¸´Ô­(deconvwnr)¡¢Ô¼Êø×îСƽ·½Â˲¨Í¼Ïñ¸´Ô­(deconvreg)2ÖÖ·½·¨ÈÎÒ»ÖÖȥʵÏÖ£¬ÉèÖò»Í¬²ÎÊý£¬±È½Ï¸´Ô­Ð§¹û¡££¨Ñ¡×÷£¬Ìáʾ£º¿É²Î¿´Ïà¹Ø²Î¿¼ÊéʵÏÖdeconvregº¯Êý¹¦ÄÜ£©

¡¾Ë¼¿¼Ìâ¡¿

1¡¢ÄæÂ˲¨Æ÷´æÔÚʲô²¡Ì¬ÎÊÌ⣬ÈçºÎ¸Ä½ø£¿

´ð£º¸´Ô­ÓÉÍË»¯º¯ÊýHÍË»¯µÄͼÏñ×îÖ±½ÓµÄ·½·¨ÊÇÖ±½ÓÄæÂ˲¨¡£ÔÚ·½·¨ÖУ¬ÓÃÍË»¯º¯Êý³ýÍË»¯Í¼ÏñµÄ¸µÁ¢Ò¶±ä»»À´¼ÆËãԭʼͼÏñµÄ¸µÁ¢Ò¶±ä»»¡£

37

н®´óѧÐÅÏ¢¿ÆѧÓ빤³ÌѧԺ

¼´Ê¹ÎÒÃÇÖªµÀÍË»¯º¯Êý£¬Ò²¿ÉÄÜÎÞ·¨×¼È·¸´Ô­Î´ÍË»¯µÄͼÏñ¡£ÒòΪÔëÉùÊÇÒ»¸öËæ»úº¯Êý£¬Æ丵Êϱ任δ֪¡£Êµ¼ÊÓ¦ÓÃÄæÂ˲¨¸´Ô­·½·¨Ê±´æÔÚ²¡Ì¬µÄÎÊÌ⣬¼´ÔÚƵÆ×ÓòÖжÔͼÏñÐźŵÄÄÇЩƵÆ×µãÉÏ£¬Èô£ºH(u,v)=0,¶øÔëÉùN(u,v)<>0,Ôò N(u,v)/H(u,v)>>F(u,v),ÃæÄ¿È«·Ç£¬ÕâÖÖ»Ö¸´»á³öÏÖ²¡Ì¬ÐÔ¡£ÓÉÉÏÊö·½·¨½øÐÐͼÏñ¸´Ô­Ê±£¬ÓÉÓÚH(u,v)ÔÚ·ÖĸÉÏ£¬µ±u-vƽÃæÉϵÄijÒýÆðµã»òÇøÓòH(u, v)ºÜС»òµÈÓÚÁ㣬¼´³öÏÖÁËÁãµãʱ£¬ ¾Í»áµ¼Ö²»Îȶ¨½â¡£Òò´Ë£¬¼´Ê¹Ã»ÓÐÔëÉù£¬Ò»°ãÒ²²»¿ÉÄܾ«È·µØ¸´Ô­f(x, y)¡£Èç¹û¿¼ÂÇÔëÉùÏîN(x, y)£¬ Ôò³öÏÖÁãµãʱ£¬ ÔëÉùÏ±»·Å´ó£¬ÁãµãµÄÓ°Ï콫»á¸ü´ó£¬¶Ô¸´Ô­µÄ½á¹ûÆðÖ÷µ¼µØ룬 Õâ¾ÍÊÇÎÞÔ¼ÊøͼÏñ¸´Ô­Ä£Ð͵IJ¡Ì¬ÐÔÖÊ¡£ËüÒâζ×ÅÍË»¯Í¼ÏñÖÐСµÄÔëÉù¸ÉÈÅÔÚH(u, v)È¡µÃºÜСֵµÄÄÇЩƵÆ×ÉϽ«¶Ô»Ö¸´Í¼Ïñ²úÉúºÜ´óµÄÓ°Ïì¡£Óɼòµ¥µÄ¹âѧ·ÖÎöÖªµÀ£¬ÔÚ³¬³ö¹âѧϵͳµÄÈÆÉ伫ÏÞʱ£¬H(u, v)½«ºÜС»òµÈÓÚÁ㣬Òò´Ë¶Ô¶àÊýͼÏñÖ±½Ó²ÉÓÃÄæÂ˲¨¸´Ô­»áÓöµ½ÉÏÊöÇó½â·½³ÌµÄ²¡Ì¬ÐÔ¡£ ¸Ä½ø£º

¼´Èç¹ûÍË»¯ÎªÁã»ò·Ç³£Ð¡µÄÖµ£¬ÔòN(u,v)/H(u,v)Ö®±ÈºÜÈÝÒ×¾ö¶¨¸´Ô­º¯ÊýµÄÖµ¡£

1)¡¢ÔÚH(u,v)=0´¦£¬ÈËΪ×ÐϸÉèÖÃH-1(u,v)Öµ£¬Ê¹µÃÕâЩƵÆ׵㸽½ü£¬ N(u,v)/H(u,v)¶Ô^F(u,v)Ó°ÏìСЩ

2)¡¢Õ­´øH(u,v),Ïà±ÈÔëÉù¾ßµÍͨÌØÐÔ¡£

2¡¢Î¬ÄÉÂ˲¨ÊÊÓÃÓÚʲô³¡ºÏ£¿ÓкÎȱÏÝ£¿

´ð£ºÄæÂ˲¨½Ï¼òµ¥£¬µ«¶ÔÔëÉùÓзŴó×÷Ó㬶øάÄÉÂ˲¨ÔòÒÖÖÆÔëÉù£¬Î¬ÄÉÂ˲¨¼´Ñ°ÕÒÒ»¸öÂ˲¨Æ÷£¬Ê¹µÃ¸´Ô­ºóµÄͼÏñÓëԭʼͼÏñµÄ·½²î×îС£¬¼´

1)¡¢ÊÊÓÃÓÚ¼ÙÉèͼÏñºÍÔëÉù²»Ïà¹Ø£¬ÇÒh(x,y)ÓÐÁã¾ùÖµ(ƽÎÈËæ»ú¹ý³Ì)£¬ÍË»¯ÏµÍ³ÏßÐÔʱ²»±ä

2)¡¢ÐÅÔë±È½Ï¸ßʱ£¬µÈͬÄæÂ˲¨

3)¡¢´ó¶àÊýÇé¿öϽÏÂúÒ⣬µ«ÐÅÔë±È½ÏµÍʱ£¬Ð§¹û²»ºÃ£¬ÓÉÓÚÒÔƽÎÈËæ»ú¹ý³ÌΪ»ù´¡£¬ÏßÐÔʱ²»±äÌõ¼þ²»Âú×㣬Óëʵ¼ÊÇé¿öÓвî¾à£»ÁíÍ⣬×îС¾ù·½Îó²î×¼ÔòÓëÈËÑÛµÄÊÓ¾õ×¼Ôò²¢²»Æ¥Åä¡£

¡¾ÊµÑ鱨¸æ¡¿

1¡¢¶ÔÉÏÊö²Ù×÷£¬ÒªÇó±à³Ì£¬²¢¸½Í¼ÏñµÄÏÔʾ½á¹û¡£

2¡¢ÊµÑ鱨¸æдÃ÷ʵÑéÌâÄ¿£¬¿É¼òдʵÑéÔ­Àí£¬ÊµÑéÄÚÈÝ£¬ÏêϸдʵÑé¹ý³ÌºÍʵÑé½á¹û·ÖÎö£¬ÒªÇó¸½Ïà¹Ø³ÌÐò¡£°´¸ñʽÊéд£¬½«½á¹ûÌùÈëÏàӦλÖà 3¡¢»Ø´ð˼¿¼Ì⣬дÔÚʵÑ鱨¸æÉÏ

38

н®´óѧÐÅÏ¢¿ÆѧÓ빤³ÌѧԺ

ʵÑé6 MATLABʵÏÖͼÏñ·Ö¸î£¨2ѧʱ£©

¡¾ÊµÑéÄÚÈÝ¡¿ Ò»¡¢Í¼Ïñ·Ö¸î

1¡¢ÈÎÑ¡Ò»¸±Í¼Ïñ£¬¶ÔʵÑéͼÏñÓÃedgeº¯ÊýʵÏÖrobertsËã×Ó¡¢sobel¡¢logµÈËã×Ó¼ì²â±ßÔµ£¬²¢¶Ô±ÈÏÔʾÆä½á¹û£¬ÆÀ¼Ûһϸ÷Ëã×Ó¶ÔÓÚÔëÉùÌõ¼þϱ߽ç¼ì²âµÄÐÔÄÜ¡£

²Î¿¼³ÌÐòÈçÏ£º

I=imread('rice.png');

K=imnoise(I,'salt & pepper',0.04); BW1=edge(I,'roberts'); BW2=edge(I,'sobel'); BW3=edge(I,'log'); BW4=edge(K,'roberts'); BW5=edge(K,'sobel'); BW6=edge(K,'log');

subplot(3,3,1),imshow(I),title('?¨º?¨ª???');

subplot(3,3,2),imshow(K),title('?¨®?¡¤????¨¦¨´¨ª?');

subplot(3,3,3),imshow(BW1),title('?¨ª?roberts¡À??¦Ì?¨¬2a'); subplot(3,3,4),imshow(BW2),title('?¨ª?sobel¡À??¦Ì?¨¬2a'); subplot(3,3,5),imshow(BW3),title('?¨ª?log¡À??¦Ì?¨¬2a');

subplot(3,3,6),imshow(BW4),title('?¨®??roberts¡À??¦Ì?¨¬2a'); subplot(3,3,7),imshow(BW5),title('?¨®??sobel¡À??¦Ì?¨¬2a'); subplot(3,3,8),imshow(BW6),title('?¨®??log¡À??¦Ì?¨¬2a'); ²Î¿¼³ÌÐòÈçÏÂ:

I=imread('eight.tif'); imshow(I)

BW1=edge(I,'roberts');

figure ,imshow(BW1),title('ÓÃRobertsËã×Ó') BW2=edge(I,'sobel');

figure,imshow(BW2),title('ÓÃSobelËã×Ó ') BW3=edge(I,'log');

figure,imshow(BW3),title('ÓÃÀ­ÆÕÀ­Ë¹¸ß˹Ëã×Ó') µÃµ½£º

39

н®´óѧÐÅÏ¢¿ÆѧÓ빤³ÌѧԺ

±È½ÏÌáÈ¡±ßÔµµÄЧ¹û¿ÉÒÔ¿´³ö£¬soberËã×ÓÊÇÒ»ÖÖ΢·ÖËã×Ó£¬¶Ô±ßÔµµÄ¶¨Î»½Ï¾«È·£¬µ«ÊÇ»á©ȥһЩ±ßԵϸ½Ú¡£¶øLaplacian-GaussianËã×ÓÊÇÒ»ÖÖ¶þ½×±ßÔµ¼ì²â·½·¨£¬Ëüͨ¹ýÑ°ÕÒͼÏó»Ò¶ÈÖµÖжþ½×¹ýÁãµãÀ´¼ì²â±ßÔµ²¢½«±ßÔµÌáÈ¡³öÀ´£¬±ßÔµµÄϸ½Ú±È½Ï·á¸»¡£Í¨¹ý±È½Ï¿ÉÒÔ¿´³öLaplacian-GaussianËã×Ó±ÈsoberËã×Ó±ßÔµ¸üÍêÕû£¬Ð§¹û¸üºÃ¡£

2¡¢ÈÎÑ¡Ò»¸±±³¾°ºÍÇ°¾°Çø±ð½Ï´óµÄ»Ò¶ÈͼÏñ£¬¶Ô¸ÃͼÏñ½øÐжþÖµ»¯´¦Àí(im2Bw£¬ÉèÖò»Í¬ãÐֵʵÏÖ)£¬»æÖƸÃͼÏñÖ±·½Í¼£¬ÀûÓÃË«·å·¨ºÍµü´ú·¨¹À¼ÆÉèÖÃÆäãÐÖµ£¬È»ºóÀûÓüÆËã³öµÄãÐÖµ¶Ô²âÊÔͼÏñ½øÐзָÀí£¬½á¹ûÏÔʾԭͼÏñ¡¢´¦ÀíºóµÄ·Ö¸îͼÏñ¼°ÏàÓ¦µÄ·Ö¸îãÐÖµ£¬¹Û²ì²»Í¬ãÐÖµµÄ·Ö¸îЧ¹û¡£

²Î¿¼³ÌÐòÈçÏ£º clear;

close all;

I0=imread(¡®cell.tif¡¯);

I1=im2bw(I0£¬0.3);%¶þÖµ»¯´¦Àí I1=im2bw(I0£¬0.7);%¶þÖµ»¯´¦Àí figure£¬

subplot(3,2,1),imshow(I0),title(¡®Ô­Í¼¡¯);

subplot(3,2,2),imhist(I0),title(¡®Ô­Í¼Ö±·½Í¼¡¯); subplot(3,2,3),imshow(I1),title(¡®¶þÖµ»¯Í¼,T=0.3¡¯);

subplot(3,2,4),imhist(I1),title(¡®¶þÖµ»¯Í¼µÄÖ±·½Í¼,T=0.3¡¯);

40