matlab 求傅立叶,MATLAB数字图像处理(一)基础操作和傅立叶变换

数字图像处理是一门集计算机科学、光学、数学、物理学等多学科的综合科学。随着计算机科学的发展,数字图像处理技术取得了巨大的进展,呈现出强大的生命力,已经在多种领域取得了大量的应用,推动了社会的发展。其中,遥感领域中,对于影像数据的处理均基于数字图像处理的技术。而遥感影像数据作为地理信息科学的重要数据源,如何从中获取有用的信息,是地理信息数据处理中重要的内容。

MATLAB作为数学领域应用最广泛的一种软件,集成了对于图片处理的函数和功能,成为了处理数字图像问题的佼佼者。其出众的计算能力和简便的绘图能力可以有效进行数字图像的变换和操作。本文探究了MATLAB(R2014a)软件下数字图像处理部分简单内容方法的操作实现,包括图像变换、图像增强等。

由于时间所迫和水平不足,对于本文中的问题请指出。

在这里首先将介绍基本的操作。

1  数字图像处理基础

1.1            MATLAB图像处理基本操作

本文中对于大多数的操作,是对数字图像处理领域中最为著名的“lena”图片进行操作的。原图如下(Figure 1):

155678432_1_20190305053132910.png

Figure 1

首先,在MATLAB中显示这幅图片:

1

2

3I=imread('lena.jpg');

imfinfo('lena.jpg')

imshow(I);

其中,imread()可以读取图片,imfinfo()可以获取图片的信息(Figure 2),imshow()可以显示图片。

155678432_2_20190305053133301.png

Figure 2

从Figure 2中可以看出,该图片格式为png,长宽均为512px,颜色类型为真彩色。

处理后的图片还需要进行保存:

1imwrite(I,'lenaSave.jpg');

1.2            图像数字化

使用imread()读取图像后,可以看到,读入的图片I是以一个512*512*3的矩阵进行保存的,即分别是RGB颜色的数字图片。为了方便起见,在本文中,笔者将lena图进行了转换,转换为灰度图,即保存为一个512*512*1的矩阵。

为了完成这样一个步骤,MATLAB中提供了相应的函数:

1

2I1=rgb2gray(I);

imshow(I1);

I1以512*512*1的矩阵形式进行存储。效果如下图(Figure 3):

155678432_3_20190305053133441.jpg

Figure 3

1.3            直方图

为了显示图像灰度的分布情况,还需要绘制灰度直方图。可以使用如下代码:

1figure,imhist(I1);

效果如下(Figure 4):

155678432_4_20190305053133629.jpg

Figure 4

1.4            图像噪声的添加

为了完成多种图像处理的操作和试验,还可以对图片添加噪声。所用函数为imnoise (I, type),该函数中的type可以为5种噪声参数,分别为:'gaussian'(高斯白噪声),'localvar'(与图象灰度值有关的零均值高斯白噪声),'poisson'(泊松噪声),'salt & pepper'(椒盐噪声)和'speckle'(斑点噪声)。

以下为高斯噪声(Figure 5)和椒盐噪声(Figure 6)的代码和效果:

1

2I2=imnoise(I1,'gaussian');

figure,imshow(I2);

155678432_5_20190305053133738.jpg

Figure 5

1

2I3=imnoise(I1,'salt & pepper');

figure,imshow(I3);

155678432_6_2019030505313419.jpg

Figure 6

2         图像变换

2.1            傅立叶变换

傅立叶变换可以将图像从空间域转换到频率域,然后再进行相应的处理。MATLAB中有傅立叶变换的函数。

原图:

155678432_7_20190305053134269.jpg

Figure 7

傅立叶变换:

1

2

3F=fft2(I1);

S=abs(F);

figure,imshow(S,[]);

效果:

155678432_8_20190305053134426.jpg

Figure 8

看上去是一片黑,事实上在全图的左上角可以看出有一个白点(即左上角缺失了)。

平移:

1

2Fc=fftshift(F);

figure,imshow(abs(Fc),[]);

效果:

155678432_9_20190305053134660.jpg

Figure 9

将频率平移到中间。

频谱图:

1figure,imshow(uint8(abs(Fc/256)));

效果:

155678432_10_20190305053134801.jpg

Figure 10

之所以在本例中没有使用lena的图片,是因为该图傅立叶频谱图并无特点。

傅立叶逆变换:

1

2

3f=real(ifft2(F)/255);

figure,imshow(f);

效果:

155678432_11_20190305053134957.jpg

Figure 11

经过逆变换后,仍然为原图。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值