matlab实用程序(六)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013354805/article/details/52554147

1. 图像的块操作

<strong><span style="font-size:18px;">h0=figure('toolbar','none',...
    'position',[198 56 350 468],...
    'name','实例67');
h1=axes('parent',h0,...
    'position',[0.2 0.45 0.6 0.5],...
    'visible','off');
I=imread('tire.tif');
imshow(I)
b1=uicontrol('parent',h0,...
    'units','points',...
    'tag','b1',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','边沿操作',...
    'position',[30 100 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''tire.tif'');,',...
        'f=inline(''max(x(:))'');,',...
        'I2=nlfilter(I,[2 2],f);,',...
        'imshow(I2)']);
b2=uicontrol('parent',h0,...
    'units','points',...
    'tag','b2',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','显示块操作',...
    'position',[100 100 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''tire.tif'');,',...
        'f=inline(''uint8(round(mean2(x)*ones(size(x))))'');,',...
        'I2=blkproc(I,[6 6],f);,',...
        'imshow(I2)']);
b3=uicontrol('parent',h0,...
    'units','points',...
    'tag','b3',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','交叠块操作',...
    'position',[170 100 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''tire.tif'');,',...
        'f=inline(''uint8(round(mean2(x)*ones(size(x))))'');,',...
        'I2=blkproc(I,[6 6],[3 3],f);,',...
        'imshow(I2)']);
b4=uicontrol('parent',h0,...
    'units','points',...
    'tag','b4',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','关闭',...
    'fontsize',14,...
    'position',[90 50 70 30],...
    'callback','close');</span></strong>

2. 图形的过滤操作:

h0=figure('toolbar','none',...
    'position',[198 56 350 468],...
    'name','过滤操作');
h1=axes('parent',h0,...
    'position',[0.3 0.45 0.5 0.5],...
    'visible','off');
I=imread('pout.tif');
imshow(I)
b1=uicontrol('parent',h0,...
    'units','points',...
    'tag','b1',...
    'style','pushbutton',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','均平过滤',...
    'position',[50 120 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''pout.tif'');,',...
        'h=fspecial(''average'',6);,',...
        'I2=uint8(round(filter2(h,I)));,',...
        'imshow(I2)']);
b2=uicontrol('parent',h0,...
    'units','points',...
    'tag','b2',...
    'style','pushbutton',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','Sobel过滤',...
    'position',[150 120 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''pout.tif'');,',...
        'h=fspecial(''sobel'');,',...
        'I2=filter2(h,I);,',...
        'imshow(I2,[])']);
b1=uicontrol('parent',h0,...
    'units','points',...
    'tag','b1',...
    'style','pushbutton',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','关闭',...
    'position',[85 60 80 30],...
    'callback','close'); 

3. 图像的频率操作:

h0=figure('toolbar','none',...
    'position',[198 56 350 468],...
    'name','频率操作');
h1=axes('parent',h0,...
    'position',[0.3 0.45 0.5 0.5],...
    'visible','off');
b=remez(10,[0 0.4 0.6 1],[1 1 0 0]);
h=ftrans2(b);
[H,W]=freqz(b,1,64,'whole');
colormap(jet(64))
plot(W/pi-1,fftshift(abs(H)))
b1=uicontrol('parent',h0,...
    'units','points',...
    'tag','b1',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','频率变换',...
    'position',[30 100 50 20],...
    'callback',[...
        'cla,',...
        'b=remez(10,[0 0.4 0.6 1],[1 1 0 0]);,',...
        'h=ftrans2(b);,',...
        '[H,W]=freqz(b,1,64,''whole'');,',...
        'colormap(jet(64)),',...
        'freqz2(h,[32 32])']);
b2=uicontrol('parent',h0,...
    'units','points',...
    'tag','b2',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','频率采样一',...
    'position',[100 100 50 20],...
    'callback',[...
        'cla,',...
        'Hd=zeros(11,11);,',...
        'Hd(4:8,4:8)=1;,',...
        '[f1,f2]=freqspace(11,''meshgrid'');,',...
        'mesh(f1,f2,Hd),',...
        'axis([-1 1 -1 1 0 1.2]),',...
        'colormap(jet(64))']);
b3=uicontrol('parent',h0,...
    'units','points',...
    'tag','b3',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','频率采样二',...
    'position',[170 100 50 20],...
    'callback',[...
        'cla,',...
        'Hd=zeros(11,11);,',...
        'Hd(4:8,4:8)=1;,',...
        'H=fsamp2(Hd);,',...
        'freqz2(h,[32 32]),',...
        'axis([-1 1 -1 1 0 1.2]),',...
        'colormap(jet(64))']);
b4=uicontrol('parent',h0,...
    'units','points',...
    'tag','b4',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','关闭',...
    'fontsize',15,...
    'position',[80 50 80 30],...
    'callback','close');

4. 函数变换:

h0=figure('toolbar','none',...
    'position',[198 56 350 468],...
    'name','函数变换');
h1=axes('parent',h0,...
    'position',[0.25 0.45 0.5 0.5],...
    'visible','off');
I=imread('cameraman.tif');
imshow(I)
b1=uicontrol('parent',h0,...
    'units','points',...
    'tag','b1',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','图像压缩',...
    'position',[30 100 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''cameraman.tif'');,',...
        'I2=im2double(I);,',...
        'imshow(I2)']);
b2=uicontrol('parent',h0,...
    'units','points',...
    'tag','b2',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','图像解压',...
    'position',[100 100 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''cameraman.tif'');,',...
        'I=im2double(I);,',...
        'T=dctmtx(8);,',...
        'B=blkproc(I,[8 8],''P1*x*P2'',T,T'');,',...
        'mask=[1 1 1 1 0 0 0 0;,',...
              '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)']);
b3=uicontrol('parent',h0,...
    'units','points',...
    'tag','b3',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','线条解析',...
    'position',[170 100 50 20],...
    'callback',[...
        'cla,',...
        'I=imread(''cameraman.tif'');,',...
        'BW=edge(I);,',...
        'imshow(BW)']);
b4=uicontrol('parent',h0,...
    'units','points',...
    'tag','b4',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'style','pushbutton',...
    'string','关闭',...
    'fontsize',15,...
    'position',[80 50 80 30],...
    'callback','close');

5. RADON函数变换

h0=figure('toolbar','none',...
    'position',[198 56 350 468],...
    'name','实例71');
h1=axes('parent',h0,...
    'position',[0.3 0.45 0.5 0.5],...
    'visible','off');
P=phantom(256);
imshow(P)
b1=uicontrol('parent',h0,...
    'units','points',...
    'tag','b1',...
    'style','pushbutton',...
    'string','变换一',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'position',[30 100 50 20],...
    'callback',[...
        'cla,',...
        'k=1;,',...
        'theta1=0:10:170;,',...
        'R1=radon(P,theta1);,',...
        'imagesc(R1),',...
        'colormap(hot),',...
        'colorbar']);
b2=uicontrol('parent',h0,...
    'units','points',...
    'tag','b2',...
    'style','pushbutton',...
    'string','变换二',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'position',[100 100 50 20],...
    'callback',[...
        'cla,',...
        'k=2;,',...
        'theta2=0:5:175;,',...
        'R2=radon(P,theta2);,',...
        'imagesc(R2),',...
        'colormap(hot),',...
        'colorbar']);
b3=uicontrol('parent',h0,...
    'units','points',...
    'tag','b3',...
    'style','pushbutton',...
    'string','变换三',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'position',[170 100 50 20],...
    'callback',[...
        'cla,',...
        'k=3;,',...
        'theta3=0:2:178;,',...
        'R3=radon(P,theta3);,',...
        'imagesc(R3),',...
        'colormap(hot),',...
        'colorbar']);
b4=uicontrol('parent',h0,...
    'units','points',...
    'tag','b4',...
    'style','pushbutton',...
    'string','原始图像',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'position',[50 50 70 30],...
    'callback',[...
        'cla,',...
        'if k==1,',...
        'I1=iradon(R1,10);,',...
        'imshow(I1),',...
        'end,',...
        'if k==2,',...
        'I2=iradon(R2,5);,',...
        'imshow(I2),',...
        'end,',...
        'if k==3,',...
        'I3=iradon(R3,2);,',...
        'imshow(I3),',...
        'end']);        
b5=uicontrol('parent',h0,...
    'units','points',...
    'tag','b5',...
    'style','pushbutton',...
    'string','关闭',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'position',[150 50 70 30],...
    'callback','close');


猜你喜欢

转载自blog.csdn.net/u013354805/article/details/52554147
今日推荐