数字图像处理实验三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三图像变换

实验内容:(1)选择一幅图像,进行离散傅里叶变换,再对其进行X 轴与Y轴上的平移,得其离散傅里叶变换,观察原图的傅里叶变换和平移后的傅里叶频谱的对应关系。

(2)选择一幅图像,进行离散傅里叶变换,再对其进行一定角度的旋转,进行离散傅里叶变换。

(3)选择一幅图像,进行离散余弦变换,并对其进行离散余弦反变换,观察其结果。

实验原理:(1)平移性质公式

(2)旋转性质公式

(3)离散余弦变换公式

实验报告要求:给出实验代码,和实验结果图,并对实验结果进行分析。

所用函数:

(1)fft2

fft2函数用于计算二维快速傅立叶变换,其语法格式为:

B = fft2(I)

%返回图象I的二维fft变换矩阵,输入图象I和输出图象B大小相同。

(2)fftshift

MATLAB提供的fftshift函数用于将变换后的图象频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:

B = fftshift(I)

例如,计算图象的二维傅立叶变换,并显示其幅值的结果,其命令格式如下

load imdemos saturn2

imshow(saturn2)

B = fftshift(fft2(saturn2));

imshow(log(abs(B)),[])

(3)strel创建形态学结构元素

具体用法:SE = strel(shape,parameters)

创建由指定形状shape对应的结构元素。其中shape的种类有

arbitrary'、'pair'、'diamond'、'periodicline'、'disk'、'rectangle'、'line'、'square'、'octagon

参数parameters一般控制SE的大小。

例子:se1 = strel('square',6) % 创建6*6的正方形

se2 = strel('line',10,45) % 创建直线长度10,角度45

se3 = strel('disk',15) % 创建圆盘半径15

se4 = strel('ball',15,5) % 创建椭圆体,半径15,高度5

(4)translate偏移结构元素

(5)imdilate灰度图像或二值图像的膨胀运算

功能:对图像实现膨胀操作。(膨胀:给边界添加像素,使区域从四周向外扩大)

用法:IM2 = imdilate(IM,SE) 膨胀灰度,二值,压缩二值图像IM,返回IM2。参数SE为由strel函数返回的结构元素或者结构元素对象组。

(6)imrotate

函数功能:对图像进行旋转操作。

调用格式:

B = imrotate(A,angle)

将图像A(图像的数据矩阵)绕图像的中心点旋转angle度,正数表示逆时针旋转,负数表示顺时针旋转。返回旋转后的图像矩阵。以这种格式调用该函数,该函数默认采用最近邻线性插值(Nearest-neighbor interpolation)。旋转后的图像超出的部分填充0(黑色)。

(7)dct2

功能:二维DCT 变换

格式:B=dct2(A)

B=dct2(A,m,n)

B=dct2(A,[m,n])

说明:B=dct2(A) 计算 A 的DCT 变换 B ,A 与 B 的大小相同;B=dct2(A,m,n) 和B=dct2(A,[m,n]) 通过对A 补0 或剪裁,使B 的大小为m×n。

(8)idct2

功能:DCT 反变换

格式:B=idct2(A)

B=idct2(A,m,n)

B=idct2(A,[m,n])

说明:B=idct2(A) 计算A 的DCT 反变换B ,A 与 B 的大小相同;B=idct2(A,m,n) 和B=idct2(A,[m,n]) 通过对A 补0 或剪裁,使B的大小为m×n。

相关文档
最新文档