Advertisement

matlab傅里叶变换处理图像,MATLAB数字图像处理(1)基本操作和傅里叶变换

阅读量:
10a5d065de500fe74dbc88d708ce9d2d.gif

数字图像处理是一门综合了计算机科学,光学,数学,物理等学科的综合科学. 随着计算机科学的发展,数字图像处理技术取得了长足的进步,显示出强大的生命力,并取得了巨大的成就. 在各个领域的应用,促进了社会的发展. 其中,在遥感领域,图像数据的处理是基于数字图像处理技术的. 遥感图像数据是地理信息科学的重要数据源,如何从中获取有用信息是地理信息数据处理的重要内容.

MATLAB是数学领域中使用最广泛的软件,它集成了用于图像处理的功能和功能,并已成为处理数字图像问题的领导者. 其出色的计算能力和简单的绘图功能可以有效地转换和操作数字图像. 本文探讨了在MATLAB(R2014a)软件下实现数字图像处理的简单内容方法的实现,包括图像转换,图像增强等.

由于时间限制和级别不足,请指出本文中存在的问题.

这里首先介绍基本操作.

1数字图像处理基础

1.1 MATLAB图像处理的基本操作

对于本文中的大多数操作,将执行数字图像处理领域中最著名的“ lena”图片. 原始图片如下(图1):
d0457144a27eebe6b6248a4566cedc63.png

图1

首先,在MATLAB中显示此图片:

I=imread('lena.jpg');

imfinfo('lena.jpg')

imshow(I);

其中,imread()可以读取图片,imfinfo()可以获取图片信息(图2),并且imshow()可以显示图片.
e67c5157f44d154bafc6a5695f8b02e5.png

图2
501f9cd3d674725f897a11a2ccc37c29.png

从图2可以看出,图像格式为png,长度和宽度均为512px,颜色类型为纯色.

处理后的图片仍然需要保存:

imwrite(I,'lenaSave.jpg');

1.2图像数字化

使用imread()读取图像后,您可以看到我读取的图像保存在512 * 512 * 3矩阵中,即RGB颜色的数字图像. 为了方便起见,在本文中,作者将lena图像转换为灰度图像,并将其保存为512 * 512 * 1矩阵.

为了完成这一步骤,MATLAB提供了相应的功能:

I1=rgb2gray(I);

imshow(I1);

I1存储在512 * 512 * 1的矩阵中. 效果如下(图3):
f25da17ed3625b7331c11f174d5361ea.png

图3

1.3直方图

为了显示图像的灰度分布,还需要灰度直方图. 您可以使用以下代码:

figure,imhist(I1);

效果如下(图4):
4d15fe3b7f035264e3ce464e39d7d9c2.png
0e26c89a0c18a1a622cfb61921ddee22.png

图4

1.4添加图像噪波

为了完成各种图像处理操作和实验,还可以在图像中添加噪点. 使用的函数是无噪的(I,类型),此函数中的类型可以是5种噪声参数,即: “高斯”(高斯白噪声),“局部变量”(零均值高斯白与图像灰度值相关)噪声),“泊松”(泊松噪声),“盐和胡椒”(盐和胡椒噪声)和“斑点”(斑点噪声).

以下是高斯噪声(图5)以及盐和胡椒噪声(图6)的代码和影响:

I2=imnoise(I1,'gaussian');

figure,imshow(I2);
064e4e073ad5ec13969c5a45b93d0a3c.png

图5

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

figure,imshow(I3);
a46a33f85ddebbd75dd0a0f18b19eb5d.png

图6

2图像变换

2.1傅立叶变换

傅里叶变换可以将图像从空间域转换到频域,然后执行相应的处理. MATLAB中具有傅立叶变换的功能.
c73b163f1c521f3118c72e32bde0f49b.png

原始图片:
cf9721ed3344ace3f6a7b8852fedfc34.png

图7

傅立叶变换

F=fft2(I1);

S=abs(F);

figure,imshow(S,[]);

效果:
417494d54554e12ec0b1441ec229c187.png

图8

它看起来是黑色的,但实际上在整个图片的左上角可以看到一个白点(也就是说,左上角不见了).

Pan:

Fc=fftshift(F);

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

效果:
64a79772393b8bee6d04ec1b71857785.png

图9
fdb7b50710fdfa42e7d72c92b3b6e9e5.png

将频率移到中间.

频谱图:

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

效果:
79907e78d6e9750246e88665e5cf2876.png

图10

在此示例中未使用lena图片的原因是因为傅立叶光谱图没有特征.

傅立叶逆变换:

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

figure,imshow(f);

效果:
2120503d1ac44945192265597f664d4c.png

图11

逆变换后,它仍然是原始图像.

有关具体代码,请参阅kyh_One.m和kyh_Two1.m的内容.

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shumachanpin/article-290056-1.html

全部评论 (0)

还没有任何评论哟~