»ùÓÚMATLABµÄͼÏñ´¦ÀíµÄ¿Î³ÌÉè¼ÆÂÛÎÄ ÏÂÔØ±¾ÎÄ

6.3.1¡¢ÉÏÏ·­×ª

º¯ÊýflipudÊÇʵÏÖÒ»¸ö¶þά¾ØÕóµÄÉÏÏ·­×ª£¬Èç

a=[1 2;3 4],¾­¹ý¸Ãº¯Êý´¦Àíºó£¬Ô­¾ØÕó±äΪ[3 4;1 2];ËùÒÔÀûÓøú¯ÊýÒ²¿ÉÒÔ¶ÔͼÏñ½øÐÐÉÏÏ·­×ª´¦Àí£¬µ«ÓÉÓڸú¯ÊýÕë¶Ô¶þάÊý¾ÝµÄ´¦Àí£¬ËùÒÔÔÚд³ÌÐòʱ£¬Òª¶ÔRGBͼÏñºÍ»Ò¶ÈͼÏñ·Ö¿ª´¦Àí£¬Õâ¾ÍÒªÓõ½isrgbº¯ÊýÀ´Åжϣ¬Èç¹ûÊǻҶÈͼÏñ£¬

Ôò¿ÉÒÔÖ±½ÓÓÃÕâ¸öº¯Êý½øÐд¦Àí£¬·ñÔò¾ÍÒª¶ÔRGBͼÏñ½øÐнµÎ¬´¦Àí£¬ for k=1:3

y(:,:,k)=flipud(x(:,:,k)); end

´¦Àí½á¹ûÈçͼ£º

6.3.2¡¢×óÓÒ·­×ª

¶ÔͼÏñµÄ×óÓÒ·­×ªÒ²¿ÉÒÔÓÃfliplrº¯ÊýÀ´´¦Àí£¬Í¬ÑùµÄ£¬Ò²Òª¶Ô»Ò¶ÈºÍ²ÊɫͼÏñ·Ö¿ª´¦Àí£¬´¦Àí½á¹ûÈçͼ£º

6.3.3ÈÎÒâ½Ç¶È·­×ª

Óú¯ÊýimrotateÀ´ÊµÏÖ¶ÔͼÏñµÄ²åÖµÐýת¡£ ¸Ãº¯ÊýµÄµ÷ÓøñʽÈçÏ£º

B£½imrotate(A£¬angle£¬method£¬¡¯crop¡¯)

ÆäÖУ¬²ÎÊýmethodÓÃÓÚÖ¸¶¨²åÖµµÄ·½·¨£¬¿ÉÑ¡µÄÖµ¿ÉÒÔÓÐÈýÖÖ£¬·Ö±ðΪÁÚ½ü²åÖµ£¬Ë«ÏßÐÔ²åÖµ£¬Ë«Èý´Î²åÖµ£¬È±Ê¡Ê±ÎªÁÚ½ü²åÖµ£¬²ÎÊýangle´ú±íÐýתµÄ½Ç¶È¡£

Ò»°ãÀ´Ëµ£¬ÐýתºóµÄͼÏñ»á±Èԭͼ´ó£¬Óû§¿ÉÒÔÖ¸¶¨¡°crop¡±²ÎÊý¶ÔÐýתºó

9

µÄͼÏñ½øÐмôÇÐ(ȡͼÏñµÄÖм䲿·Ö)£¬Ê¹·µ»ØµÄͼÏñÓëԭͼ´óСÏàͬ¡£Ö´Ðнá¹ûΪ£º

6.4¡¢ ÔëÉù

¾­³£Óõ½µÄÔëÉùÓÐÈýÖÖ£¬¸ß˹ÔëÉù£¬½·ÑÎÔëÉù£¬³ËÐÔÔëÉù£¬¿ÉÒÔͨ¹ýÒÔÏÂÈý¸öº¯ÊýÀ´ÊµÏÖ£º

y=imnoise(handles.img,'gaussian',p1,p2);%¸ß˹ÔëÉù y=imnoise(x,'salt & pepper',p1); %½·ÑÎÔëÉù y=imnoise(handles.img,'speckle',p1); %³ËÐÔÔëÉù

p1£¬p2µÄ²ÎÊýҲͨ¹ýÊäÈë¶Ô»°¿òµÄÐÎʽµÃµ½£¬Ô­Í¼¼ÓÈë¸ß˹ÔëÉùºó½á¹ûÈçÏÂËùʾ£º

6.5¡¢ Â˲¨

ÕâÀïÑ¡ÔñÈýÖÖÂ˲¨·½·¨£¬

k=medfilt2(handles.noise_img);%ÖÐÖµÂ˲¨

k=wiener2(handles.noise_img,[5,5]);%×ÔÊÊÓ¦Â˲¨

k=filter2(fspecial('average',3),handles.noise_img)/255;%ƽ»¬Â˲¨

ͬÑùµÄ£¬ÕâЩº¯ÊýÒ²ÊÇÕë¶Ô¶þάÊý¾Ý£¬ËùÒÔÒªÏÈÅжÏÊDzÊɫͼÏñ»¹ÊǻҶÈͼÏñ£¬È»ºó·Ö±ð½øÐд¦Àí£¬ÏÂÃæÊǶԲÊɫͼÏñµÄ×ÔÊÊÓ¦Â˲¨´¦Àí£º i=handles.noise_img;

10

if isrgb(i)

a=handles.noise_img(:,:,1); b=handles.noise_img(:,:,2); c=handles.noise_img(:,:,3);

k(:,:,1)=wiener2(a,[5,5]); k(:,:,2)=wiener2(b,[5,5]); k(:,:,3)=wiener2(c,[5,5]); imshow(k); Ö´Ðнá¹ûÈçͼ£º

¶ÔÆäËû·½·¨µÄÂ˲¨³ÌÐòÒ²ÀàËÆ£¬ÓÉÓڰѸ÷¸öÂ˲¨·½·¨·ÅÔÚÒ»¸öÑ¡Ôñ¿òÀËùÒÔ³ÌÐòÒªÓÃÒÔϵÄÑ¡ÔñÓï¾ä£º

switch str

case 'ÖÐÖµÂ˲¨' case '×ÔÊÊÓ¦Â˲¨' case 'ƽ»¬Â˲¨'

end

6.6¡¢ Ö±·½Í¼Í³¼Æ

ÓÃimhistº¯Êý¶ÔͼÏñÊý¾Ý½øÐÐÖ±·½Í¼Í³¼Æ£¬

x=imhist(handles.img(:,:,1)); bar(horz,x);

ÆäÖУ¬x¾ØÕóµÄÊý¾ÝÊÇ0~255»Ò¶ÈÖµµÄͳ¼Æ¸öÊý£¬Èç¹ûÖ±½Ó¶Ôx¾ØÕóÊý¾Ý½øÐÐͼÐÎͼÏÔʾ£¬ÓÉÓÚÓÐ256¸öÊý¾Ý£¬ÔÚ×ø±êϵÖоͻáºÜÃܼ¯£¬ÎªÁ˸üÇå³þµÄÏÔʾÌõÐÎͼ£¬ËùÒÔÔÚ³ÌÐòÉè¼ÆÊ±£¬°ÑxÊý¾Ý½øÐв¿·ÖÌáÈ¡£¬

x1=x(1:10:256); horz=1:10:256; bar(horz,x1);

³ýÁËÏÔʾÊý¾ÝµÄÖ±·½Í¼Í³¼ÆÍ⣬»¹¿ÉÒÔ¶ÔͼÏñ½øÐоùºâ´¦Àí£¬ËùÓõ½µÄº¯ÊýÊÇhisteq£¬ÕâÁ½¸öº¯ÊýͬÑùֻʹÓÃÓÚ¶þάÊý¾Ý£¬ËùÒÔÒ²Òª¶Ô¶þάºÍÈýάÊý¾Ý·Ö¿ª´¦Àí¡£

Ö±·½Í¼ÏÔʾºÍ¾ùºâºóµÄͼÏñ·Ö±ðÈçÏÂͼËùʾ

11

6.7¡¢ ƵÆ×·ÖÎö 6.7.1¡¢ÆµÆ×ͼ

ΪÁ˵õ½Í¼ÏñµÄƵÆ×ͼ£¬ÏÈÒª¶ÔÊý¾Ý½øÐиµÀïÒ¶±ä»»£¬ÓÃfft2º¯Êý¶Ô¶þάÊý¾Ý½øÐпìËÙ¸µÀïÒ¶±ä»»£¬Í¬Ê±ÎªÁ˸üºÃµÄ¹Û²ìƵÆ×ͼ£¬ÐèÒª°Ñfft2±ä»»ºóµÄÊý¾Ý½øÐÐÆ½ÒÆ£¬ÀûÓÃfftshiftº¯Êý£¬°Ñ¿ìËÙ¸µÀïÒ¶±ä»»µÄDC ×é¼þÒÆµ½¹âÆ×ÖÐÐÄ¡£ÕâÑùͼÏñÄÜÁ¿µÄµÍƵ³É·Ö½«¼¯Öе½ÆµÆ×ÖÐÐÄ£¬Í¼ÏñÉϵıßÔµ¡¢ÏßÌõϸ½ÚÐÅÏ¢µÈ¸ßƵ³É·Ö½«·ÖÉ¢ÔÚͼÏñƵÆ×µÄ±ßÔµ¡£ÈçÏÂͼËùʾ£º

6.7.2¡¢Í¨¹ý¸ßͨÂ˲¨Æ÷

axes(handles.axes2); x=(handles.img); if isrgb(x)

msgbox('ÕâÊDzÊɫͼÏñ,²»ÄÜͨ¹ý¸ßͨÂ˲¨Æ÷','ʧ°Ü'); else

y1=imnoise(x,'gaussian'); %¼Ó¸ß˹ÔëÉù f=double(y1); % Êý¾ÝÀàÐÍת»» k=fft2(f); % ¸µÁ¢Ò¶±ä»» g=fftshift(k); % ת»»Êý¾Ý¾ØÕó [M,N]=size(g); nn=2;

d0=3; %½ØÖ¹ÆµÂÊΪ3 m=fix(M/2); n=fix(N/2); for i=1:M

12