数字图像处理实验二 图像变换

 

一、实验目的

1)了解图像变换的意义和手段。

2)熟悉傅立叶变换的基本性质。

3)通过实验了解二维频谱的分布特点。

4)了解余弦变换或WalshHadamard变换

二、实验内容

    任意选择几幅图像,对其进行傅立叶变换,观察图像的频谱特征。

   1)对图像进行傅里叶变换(包括移位和未移位),观察频谱信号

2)观察频谱的三维图形

① 移位前:

v 代码:

f=zeros(64,64);

f(15:50,15:50)=1;%输入64*64的黑色图像矩阵

F=fft2(f);%平移前傅立叶变换

F2=fftshift(abs(F));%频谱中心化

x=1:64;y=1:64;

%绘制平移前

figure(1)

subplot(1,3,1),imshow(f);title('平移前原始图像');

subplot(1,3,2),imshow(abs(F));title('图像傅里叶变换');

subplot(1,3,3),imshow(abs(F2));title('图像中心化傅里叶变换');

figure(2)

subplot(2,1,1),title('三维图像');

mesh(abs(real(F)),'FaceColor','white');

subplot(2,1,2),title('FFT变换');

mesh(x,y,F2(x,y),'FaceColor','red');

结果:


                        图1

                 

2:彩色三维图像                          图3FFT变换

② 移位后:

代码:

ff=circshift(f,[-10 -5]);%将原始图像向左向上移,及X轴,Y轴负方向

FF=fft2(ff);%平移后傅立叶变换

FF2=fftshift(abs(FF));%频谱中心化

%绘制平移后

figure(3)

subplot(2,3,1),imshow(ff);title('平移后原始图像');

subplot(2,3,2),imshow(abs(FF));title('图像傅里叶变换');

subplot(2,3,3),imshow(abs(FF2));title('图像中心化傅里叶变换');

figure(4)

subplot(2,1,1),title('三维图像');

mesh(abs(real(FF)),'FaceColor','white');

subplot(2,1,2),title('FFT变换');

mesh(x,y,FF2(x,y),'FaceColor','red');

结果:

                      图4

 

                        

  图5:彩色三维图像                            图6FFT变换

   3)进行傅里叶逆变换,重建图像

   4)根据幅值谱重建图像信息

   5)根据相位谱重建图像信息

代码:

%平移之前的频谱、相位谱、频谱逆变换、相谱逆变换、傅里叶逆变换

xf1=log(abs(F));%频谱

xf2=angle(F);%相位谱

xf12=ifft2(xf1);

xf13=ifftshift(abs(xf12));%频谱逆变换

xf22=ifft2(xf2);

xf23=ifftshift(abs(xf22));%相位逆变换

xr1=ixff1=log(abs(FF));%平移后频谱

%平移之后频谱、相位谱

xff2=angle(FF);%平移后相位谱

fft2(F);%进行傅里叶逆变换

%平移前平移后相位谱、频谱对比

figure(5)

subplot(2,2,1),imshow(abs(xf2));title('傅里叶相位谱');

subplot(2,2,2),imshow(abs(xff2));title('平移后傅里叶相位谱');

subplot(2,2,3),imshow(abs(xf1));title('傅里叶幅度谱');

subplot(2,2,4),imshow(abs(xff1));title('平移后傅里叶幅度谱');

%平移前逆变换、相位谱逆变换、幅度谱逆变换

figure(6)

subplot(2,2,1),imshow(abs(xf23));title('傅里叶相位谱逆变换');

subplot(2,2,2),imshow(abs(xf13));title('傅里叶幅度谱逆变换');

subplot(2,2,3);imshow(abs(xr1));title('逆变换');

结果:

 

7:平移前后相位谱、幅度谱

 

8:平移前逆变换、相位谱逆变换、幅度谱逆变换

 

三、实验分析:

1、图像平移之后的傅里叶幅度谱不会发生变化,而仅仅是相位谱产生了一定的相移特性,如图7

2、图像进行傅里叶变换后,进行傅里叶逆变换会还原为原来的图像,如图8

3、相位谱逆变换之后会大致还原原图像的轮廓、幅度谱逆变换之后还原不出原图像,只会确定图像的精度。如图8

附代码:

f=zeros(64,64);

f(15:50,15:50)=1;%输入64*64的黑色图像矩阵

F=fft2(f);%平移前傅立叶变换

F2=fftshift(abs(F));%频谱中心化

x=1:64;

y=1:64;

 

%平移之前的频谱、相位谱、频谱逆变换、相谱逆变换、傅里叶逆变换

xf1=log(abs(F));%频谱

xf2=angle(F);%相位谱

xf12=ifft2(xf1);

xf13=ifftshift(abs(xf12));%频谱逆变换

xf22=ifft2(xf2);

xf23=ifftshift(abs(xf22));%相位逆变换

xr1=ifft2(F);%进行傅里叶逆变换

 

%平移之后的傅里叶变换频谱、相位谱

ff=circshift(f,[-10 -5]);%将原始图像向左向上移,及X轴,Y轴负方向

FF=fft2(ff);%平移后傅立叶变换

FF2=fftshift(abs(FF));%频谱中心化

xff1=log(abs(FF));%平移后频谱

xff2=angle(FF);%平移后相位谱

 

%绘制平移前

figure(1)

subplot(1,3,1),imshow(f);title('平移前原始图像');

subplot(1,3,2),imshow(abs(F));title('图像傅里叶变换');

subplot(1,3,3),imshow(abs(F2));title('图像中心化傅里叶变换');

 

figure(2)

subplot(2,1,1),title('三维图像');

mesh(abs(real(F)),'FaceColor','white');

subplot(2,1,2),title('FFT变换');

mesh(x,y,F2(x,y),'FaceColor','red');

 

%绘制平移后

figure(3)

subplot(2,3,1),imshow(ff);title('平移后原始图像');

subplot(2,3,2),imshow(abs(FF));title('图像傅里叶变换');

subplot(2,3,3),imshow(abs(FF2));title('图像中心化傅里叶变换');

 

figure(4)

subplot(2,1,1),title('三维图像');

mesh(abs(real(FF)),'FaceColor','white');

subplot(2,1,2),title('FFT变换');

mesh(x,y,FF2(x,y),'FaceColor','red');

 

%平移前平移后相位谱、频谱对比

figure(5)

subplot(2,2,1),imshow(abs(xf2));title('傅里叶相位谱');

subplot(2,2,2),imshow(abs(xff2));title('平移后傅里叶相位谱');

subplot(2,2,3),imshow(abs(xf1));title('傅里叶幅度谱');

subplot(2,2,4),imshow(abs(xff1));title('平移后傅里叶幅度谱');

 

%平移前逆变换、相位谱逆变换、幅度谱逆变换

figure(6)

subplot(2,2,1),imshow(abs(xf23));title('傅里叶相位谱逆变换');

subplot(2,2,2),imshow(abs(xf13));title('傅里叶幅度谱逆变换');

subplot(2,2,3);imshow(abs(xr1));title('逆变换');

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科学家发联合声明:强烈谴责首例免疫艾滋病基因编辑

来源:人民网据人民网报道,来自中国深圳的科学家贺建奎在第二届国际人类基因组编辑峰会召开前一天宣布,一对名为露露和娜娜的基因编辑婴儿于11月在中国健康诞生。这对双胞胎的一个基因经过修改,使她们出生后即能天然抵抗艾滋病。这…

Keras】基于SegNet和U-Net的遥感图像语义分割

from:【Keras】基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰“天空之眼”。这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把前段时间做的成果重新整…

实验四51单片机并口实验

一.实验目的: 1. 了解51单片机I/O口的电气特性和驱动能力。 2. 了解LED电路中加入限流电阻的原因。 3. 掌握定时器原理及编程。 4. 掌握并口程序的编辑、编译、调试和运行。 二.实验设备和器件 1. PC机 2. PROTEUS仿真软件 3. 实验箱 4. ISP下载器 5. 51仿真器…

5G 建设拉动光模块量价齐升

来源:国联证券光模块是光通信的核心部件,它主要完成光电转换和电光转换。行业增长稳定,行业内的头部企业通过不断并购完成上下游的整合,提供一体化的解决方案。国内企业在快速的追赶外资标杆企业,产品逐步往高端方向转…

tensorflow权重初始化

一,用10层神经网络,每一层的参数都是随机正态分布,均值为0,标准差为0.01 #10层神经网络 data tf.constant(np.random.randn(2000, 800).astype(float32)) layer_sizes [800 - 50 * i for i in range(0, 10)] num_layers len(l…

单片机实验报告-片内外RAM的数据转移

一、实验目的: 1.掌握C51编程基础,C51程序结构。 2.掌握C51数据类型、函数设计。 3.掌握C51程序的编辑、编译、调试和运行 二、编程提示 编程将片外8000H单元开始的10字节的内容移至8100H开始的各单元中。8000H单元开始的10字节内容用编程方式赋值。…

单片机实验-定时中断

一.实验目的 1.掌握51单片机定时器工作原理。 2.掌握51单片机中断系统工作原理。 3.掌握定时器初始化编程。 4.掌握中断程序的编写和调试。 二.实验设备和器件 1.KEIL软件 2.PROTEUS仿真软件 3.伟福实验箱 三.实验内容 (1)编程实…

2018全球最值得关注的60家半导体公司,7家中国公司新上榜 | 年度榜单

编译 | 张玺 四月来源:机器之能由《EE Times》每年评选全球值得关注的 60 家新创半导体公司排行榜——『Silicon 60』,今年已经迈向第 19 届,今年的关键词仍然是「机器学习」(machine learning),它正以硬件支持的运算形式强势崛起…

单片机实验报告-串口实验

一.实验目的 1. 掌握 51 单片机串口工作原理。 2. 掌握 51 单片机串口初始化编程。 3. 掌握 51 单片机串口的软硬件编程。 二.实验设备和器件 1.KEIL软件 2.PROTEUS仿真软件 3.伟福实验箱 三.实验内容 (1)编程实现&#xff1a…

学习率周期性变化

学习率周期性变化,能后解决陷入鞍点的问题,更多的方式请参考https://github.com/bckenstler/CLR base_lr:最低的学习率 max_lr:最高的学习率 step_size:(2-8)倍的每个epoch的训练次数。 scale_fn(x):自…

清华发布《人工智能AI芯片研究报告》,一文读懂人才技术趋势

来源:Future智能摘要:大数据产业的爆炸性增长下,AI 芯片作为人工智能时代的技术核心之一,决定了平台的基础架构和发展生态。 近日,清华大学推出了《 人工智能芯片研究报告 》,全面讲解人工智能芯片&#xf…

开发者账号申请 真机调试 应用发布

技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong 开发者账号申请 真机调试 应用发布 技术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilong 要解决的问题 • 开发者账号申请 • 真机调试 • 真机调…

单片机实验-DA实验

一、实验目的 1、了解 D/A 转换的基本原理。 2、了解 D/A 转换芯片 0832 的性能及编程方法。 3、了解单片机系统中扩展 D/A 转换的基本方法。 二.实验设备和器件 1.KEIL软件 2.实验箱 三.实验内容 利用 DAC0832,编制程序产生锯齿波、三角波、正弦…

进化三部曲,从互联网大脑发育看产业互联网的未来

摘要:从互联网的左右大脑发育看,产业互联网可以看做互联网的下半场,但从互联网大脑的长远发育看,互联网依然处于大脑尚未发育成熟的婴儿时期,未来还需要漫长的时间发育。参考互联网右大脑的发育历程,我们判…

pycharm远程连接服务器(docker)调试+ssh连接多次报错

一,登入服务器建docker nvidia-docker run -it -v ~/workspace/:/workspace -w /workspace/ --namefzh_tf --shm-size 8G -p 1111:22 -p 1112:6006 -p 1113:8888 tensorflow/tensorflow:1.4.0-devel-gpu bash 二,开ssh服务 apt-get update apt-get i…

Verilog HDL语言设计4个独立的非门

代码: module yanxu11(in,out); input wire[3:0] in; output reg[3:0] out; always (in) begin out[0]~in[0]; out[1]~in[1]; out[2]~in[2]; out[3]~in[3]; end endmodule timescale 1ns/1ns module test(); reg[3:0] in; wire[3:0] out; yanxu11 U(…

深度长文:表面繁荣之下,人工智能的发展已陷入困境

来源:36氪编辑:郝鹏程摘要:《连线》杂志在其最近发布的12月刊上,以封面故事的形式报道了人工智能的发展状况。现在,深度学习面临着无法进行推理的困境,这也就意味着,它无法让机器具备像人一样的…

Verilog HDL语言设计一个比较电路

设计一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0,进行功能仿真,查看仿真结果,将Verilog代码和仿真波形图整理入实验报告。 代码: module yanxu12(in,out); input wire[3:0] i…

交叉熵

1.公式 用sigmoid推导 上式做一下转换: y 视为类后验概率 p(y 1 | x),则上式可以写为: 则有: 将上式进行简单综合,可写成如下形式: 写成对数形式就是我们熟知的交叉熵损失函数了,这也是交叉熵…

第5章 散列

我们在第4章讨论了查找树ADT,它允许对一组元素进行各种操作。本章讨论散列表(hash table)ADT,不过它只支持二叉查找树所允许的一部分操作。 散列表的实现常常叫作散列(hashing)。散列是一种以常数平均时间执行插入、删除和查找的技术。但是,那…