欢迎光临散文网 会员登陆 & 注册

数字图像处理:图像变换与图像增强

2021-02-13 10:05 作者:乔知洛  | 我要投稿

实验目的:

1、掌握图像的傅立叶变换。

2、掌握图像的空域增强。

实验内容及要求:

(一)图像的傅立叶变换。

1、矩阵的二维离散傅立叶变换

实验代码:

clear all;close all;

I1=ones(4)

I2=[2 2 2 2;1 1 1 1;3 3 0 0;0 0 0 0]

J1=fft2(I1)

J2=fft2(I2)

实验结果

>> Untitled1

 

I1 =

 

     1     1     1     1

     1     1     1     1

     1     1     1     1

     1     1     1     1

 

 

I2 =

 

     2     2     2     2

     1     1     1     1

     3     3     0     0

     0     0     0     0

 

 

J1 =

 

    16     0     0     0

     0     0     0     0

     0     0     0     0

     0     0     0     0

 

 

J2 =

 

  18.0000 + 0.0000i   3.0000 - 3.0000i   0.0000 + 0.0000i   3.0000 + 3.0000i

   2.0000 - 4.0000i  -3.0000 + 3.0000i   0.0000 + 0.0000i  -3.0000 - 3.0000i

  10.0000 + 0.0000i   3.0000 - 3.0000i   0.0000 + 0.0000i   3.0000 + 3.0000i

   2.0000 + 4.0000i  -3.0000 + 3.0000i   0.0000 + 0.0000i  -3.0000 - 3.0000i

2、图像的二维离散傅立叶变换

实验代码:

clear all;close all;

I=imread('cameraman.tif');

J=fft2(I);

K=abs(J/256);

figure;

subplot(121);

imshow(I);

subplot(122);

imshow(uint8(K));

实验结果:


3、通过函数fftshift()进行平移

实验代码:

clear all;close all;

N=0:4

X=fftshift(N)

Y=fftshift(fftshift(N))

Z=ifftshift(fftshift(N))

实验结果:

>> Untitled3

 

N =

 

     0     1     2     3     4

 

 

X =

 

     3     4     0     1     2

 

 

Y =

Z =

 

     0     1     2     3     4

 

     1     2     3     4     0

 

4、图像进行傅立叶变换和平移

实验代码:

clear all;close all;

I=imread('peppers.png');

J=rgb2gray(I);

K=fft2(J);

K=fftshift(K);

L=abs(K/256);

figure;

subplot(121);

imshow(J);

subplot(122);

imshow(uint8(L));

实验结果:


5、图像变亮后进行傅立叶变换

实验代码:

clear all;close all;

I=imread('peppers.png');

J=rgb2gray(I);

J=J*exp(1);

J(find(J>255))=255;

K=fft2(J);

K=fftshift(K);

L=abs(K/256);

figure;

subplot(121);

imshow(J);

subplot(122);

imshow(uint8(L))

实验结果:


6、图像旋转后进行傅立叶变换

实验代码:

clear all;close all;

I=imread('peppers.png');

J=rgb2gray(I);

J=imrotate(J,45,'bilinear');

K=fft2(J);

K=fftshift(K);

L=abs(K/256);

figure;

subplot(121);

imshow(J);

subplot(122);

imshow(uint8(L))

实验结果:


7、图像添加高斯噪声后进行傅立叶变换

实验代码:

clear all;close all;

I=imread('peppers.png');

J=rgb2gray(I);

J=imnoise(J,'gaussian',0,0.01);

K=fft2(J);

K=fftshift(K);

L=abs(K/256);

figure;

subplot(121);

imshow(J);

subplot(122);

imshow(uint8(L))

实验结果:


8、灰度图像的傅立叶变换和反变换

实验代码:

clear all;close all;

I=imread('onion.png');

J=rgb2gray(I);

K=fft2(J);

L=fftshift(K);

M=ifft2(K);

%imshow(I);

figure;

subplot(121);

imshow(uint8(abs(L)/198));

subplot(122);

imshow(uint8(M))

实验结果:


9、灰度图像的幅值谱和相位谱

实验代码:

clear all;close all;

I=imread('peppers.png');

J=rgb2gray(I);

K=fft2(J);

L=fftshift(K);

fftr=real(L);

ffti=imag(L);

A=sqrt(fftr.^2+ffti.^2);

A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255;

B=angle(K);

figure;

subplot(121);

imshow(A);

subplot(122);

imshow(real(B))

实验结果:


10、编程实现二维傅立叶变换

实验代码:

clear all;close all;

I=imread('onion.png');

J=rgb2gray(I);

J=double(J);

s=size(J);

M=s(1);N=s(2);

for u=0;M-1

    for v=0;N-1

        k=0;

        for x=0;M-1

            for y=0;N-1

                k=J(x+1,y+1)*exp(-j*2*pi*(u*x/M+v*y/N))+k;

            end

        end

        F(u+1,v+1)=k;

    end

end

K=fft2(J);

figure;

subplot(121);

imshow(K);

实验结果:


(二)、图像的空间域图像增强。

1、直方图均衡化。要求在题后给出实验结果,并简要列出其计算步骤。

实验代码:

clear all;

close all;

I=imread('tire.tif');

J=histeq(I);

figure;

subplot(121);

imshow(uint8(I));

subplot(122);

imshow(uint8(J));

figure;

subplot(121);

imhist(I,64);

subplot(122);

imhist(J,64);

实验结果:


数字图像处理:图像变换与图像增强的评论 (共 条)

分享到微博请遵守国家法律