数字图像处理实验记录六(图像的傅里叶变换和频域处理)

前言:

一、基础知识

1,傅里叶变换是什么

傅里叶变换是一种线性积分变换,通俗来说,通过傅里叶变换就是把一段信号分解成若干个简谐波。
在这里插入图片描述
在这里插入图片描述

二、实验要求

在这里插入图片描述

1.产生一幅如图所示亮块图像f(x,y)(256×256 大小、暗处=0,亮处=255),对其进行FFT:
(1)同屏显示原图f 和FFT(f)的幅度谱图(提示:用二维傅里叶变换函数fft2,为避免傅里叶变换数据变化过大,显示其对数变换后结果log(1.001+abs(FFT(f))) ,用imshow或surf函数显示频谱);
(2)若令f1(x,y)=(-1)x+y f(x,y),重复以上过程,比较二者幅度谱的异同,简述理由;
(3)若将f (x,y)顺时针旋转45 度得到f2(x,y),试显示FFT(f2)的幅度谱,并与FFT(f)的幅度谱进行比较。(提示: 用imrotate函数对图像进行旋转);
2. 对一幅256×256 大小、256 级灰度的数字图像进行频域的理想低通、高通滤波滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。(提示:用二维傅里叶变换函数fft2,二维傅里叶逆变换函数ifft2,中心化函数fftshift,去中心化函数ifftshift。采用不同截断频率D0重复实验,观察结果)

三、实验记录

任务0:

产生一幅如图所示亮块图像f(x,y)(256×256 大小、暗处=0,亮处=255),对其进行FFT:

I = zeros(128,128);
for i = 1:128for j = 1:128if(i>=34&&i<=94&&j>60&&j<=68)I(i,j) = 255;elseI(i,j) = 0;endend
end

任务1:

对其进行FFT,同屏显示原图f 和FFT(f)的幅度谱图:

figure('NumberTitle','off','Name','任务一');
subplot(2,1,1);imshow(I);title('原图');
FFT = log(1.001+abs(fft2(I)));subplot(2,1,2);imshow(fft2(I));title('傅里叶变换后');

任务2:

若令f1(x,y)=(-1)x+y f(x,y),重复以上过程,比较二者幅度谱的异同:

figure('NumberTitle','off','Name','任务二');
I2 = I;
for i=1:128for j=1:128I2(i,j) = (-1)^(i+j)*I(i,j);end
end
subplot(2,2,1);imshow(I);title('原图');
subplot(2,2,2);imshow(fft2(I));title('傅里叶变换后');
subplot(2,2,3);imshow(I2);title('图2');
subplot(2,2,4);imshow(fft2(I2));title('傅里叶变换后');

任务3:

若将f (x,y)顺时针旋转45 度得到f2(x,y),试显示FFT(f2)的幅度谱:

figure('NumberTitle','off','Name','任务三');I3 = imrotate(I,-45,'bilinear');
subplot(2,2,1);imshow(I);title('原图');
subplot(2,2,2);imshow(fft2(I));title('傅里叶变换后');
subplot(2,2,3);imshow(I3);title('图3');
subplot(2,2,4);imshow(fft2(I3));title('傅里叶变换后');

任务4:

对一幅256×256 大小、256 级灰度的数字图像进行频域的理想低通、高通滤波滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图:

figure('NumberTitle','off','Name','任务四');
I = imread('stone.jpg');
I = rgb2gray(I);
I1 = filter_hz(I,30,0);
I2 = filter_hz(I,10,1);
subplot(2,2,1.5);imshow(I);title('原图');
subplot(2,2,3);imshow(I1);title('低通滤波结果');
subplot(2,2,4);imshow(I2);title('高通滤波结果');

四、结果展示

任务0:

在这里插入图片描述

任务1:

在这里插入图片描述

任务2:

在这里插入图片描述

任务3:

在这里插入图片描述

任务4:

在这里插入图片描述

五、反思总结与收获

已经学完了这门课了,考过了,不反思了。注意结果可能会错

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

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

相关文章

真正免费的文件恢复软件easyrecovery2024中文版

easyrecovery数据恢复软件是一款广受好评的数据恢复工具&#xff0c;它能够有效地帮助用户恢复各种类型的文件。无论是照片、视频、音乐还是文档&#xff0c;都能轻松地找回这些重要文件。操作安全、用户可自主操作的数据恢复方案&#xff0c;它支持从各种各样的存储介质恢复删…

【芯片设计- RTL 数字逻辑设计入门 11 -- 移位运算与乘法】

请阅读【嵌入式开发学习必备专栏 】 文章目录 移位运算与乘法Verilog Codeverilog 拼接运算符&#xff08;{}&#xff09;Testbench CodeVCS 波形仿真 问题小结 移位运算与乘法 已知d为一个8位数&#xff0c;请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输…

飞书上传图片

飞书上传图片 1. 概述1.1 访问凭证2. 上传图片获取image_key1. 概述 飞书开发文档上传图片: https://open.feishu.cn/document/server-docs/im-v1/image/create 上传图片接口,支持上传 JPEG、PNG、WEBP、GIF、TIFF、BMP、ICO格式图片。 在请求头上需要获取token(访问凭证) …

前端入门:(五)JavaScript 续

10. 浏览器存储 10.1 Cookie的概念和使用 Cookie是一种存储在用户计算机上的小型文本文件&#xff0c;用于跟踪和识别用户。Cookie通常用于存储用户的偏好设置、会话信息等&#xff0c;可以通过JavaScript进行读取和设置。 // 示例&#xff1a;设置和读取Cookie document.co…

侵入式智能指针和非侵入式智能指针

一直有个疑问&#xff0c;为什么chromium代码没有使用shared_ptr呢&#xff1f; 在这里讨论&#xff1a;https://groups.google.com/a/chromium.org/g/cxx/c/aT2wsBLKvzI 不过我在这里找到了一个简单的答案&#xff1a;https://groups.google.com/a/chromium.org/g/chromium-d…

MySQL优化器

优化器 MySQL存储引擎中存在了一个可插拔的优化器OPTIMIZER_TRACE&#xff0c;可以看到内部查询计划的TRACE信息&#xff0c;从而可以知道MySQL内部执行过程 查询优化器状态 show variables like optimizer_trace;Variable_name Valueoptimizer_trace enabledoff,one_lineoff…

sqlite3数据库操作接口详细整理,以及常用的数据库语句

sqlite3_open() int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能&#xff1a;打开一个数据库&#xff0c;如果数据库不存在&#xff0c;则创建一个数据库 参数1&#xff1a;要打开的数据库的名字…

Go语言每日一题——链表篇(七)

传送门 牛客面试笔试必刷101题 ----------------删除链表的倒数第n个节点 题目以及解析 题目 解题代码及解析 解析 这一道题与昨天的题目在解题思路上有一定的相似之处&#xff0c;都是基于双指针定义快慢指针&#xff0c;这里我们让快指针先走n步&#xff0c;又因为n一定…

吉他学习:右手拨弦方法,右手拨弦训练 左手按弦方法

第六课 右手拨弦方法https://m.lizhiweike.com/lecture2/29362775 第七课 右手拨弦训练https://m.lizhiweike.com/lecture2/29362708

Matplotlib 中文柱状图绘制详解

在数据可视化的过程中,Matplotlib是Python中最受欢迎的绘图库之一。然而,当涉及到中文字符的显示时,可能会遇到一些挑战。在这篇博客中,我们将详细讨论如何使用Matplotlib绘制中文柱状图。 1. 设置中文显示 首先,为了确保中文字符的正确显示,我们需要设置Matplotlib的字…

vue.js基于springboot的实验室设备管理系统10345

(1)设备信息模块&#xff1a;记录设备的基本信息&#xff0c;如设备采购来源信息、设备需求量、当前数量、日期等。 (2) 用户模块&#xff1a;教师职工。实现对用户个人信息、消息管理和实验室设备的查询使用申请等。 (3) 管理员模块&#xff1a;实现对所有设备信息的增删改查&…

关于LLaMA Tokenizer的一些坑...

使用LLaMA Tokenizer对 jsonl 文件进行分词&#xff0c;并将分词结果保存到 txt 文件中&#xff0c;分词代码如下&#xff1a; import jsonlines import sentencepiece as spm from tqdm import tqdmjsonl_file /path/to/jsonl_file txt_file /path/to/txt_filetokenizer s…

腾讯云游戏服务器购买入口,详细配置精准报价

2024年更新腾讯云游戏联机服务器配置价格表&#xff0c;可用于搭建幻兽帕鲁、雾锁王国等游戏服务器&#xff0c;游戏服务器配置可选4核16G12M、8核32G22M、4核32G10M、16核64G35M、4核16G14M等配置&#xff0c;可以选择轻量应用服务器和云服务器CVM内存型MA3或标准型SA2实例&am…

BUUCTF-Real-[Tomcat]CVE-2017-12615

目录 漏洞描述 一、漏洞编号&#xff1a;CVE-2017-12615 二、漏洞复现 get flag 漏洞描述 CVE-2017-12615&#xff1a;远程代码执行漏洞 影响范围&#xff1a;Apache Tomcat 7.0.0 - 7.0.79 (windows环境) 当 Tomcat 运行在 Windows 操作系统时&#xff0c;且启用了 HTTP P…

MVC模式Nodejs+express+Mysql开发后台

想给自己的博客做个后台&#xff0c;一开始考虑的是java开发&#xff0c;然后把idea和一堆东西勤勤恳恳安装完了之后&#xff0c;心里一想&#xff0c;算了&#xff0c;咱就nodejs不方便多了&#xff0c;于是开始Nodejs开发后台。 Java和idea环境安装 安装jdk(1.8)安装idea&…

Qlik Sense : where exists

什么是Exists函数 Exists() 用于确定是否已经将特定字段值加载到数据加载脚本中的字段。此函数用于返回 TRUE 或 FALSE&#xff0c;这样它可以用于 LOAD 语句或 IF 语句中的 where 子句。 信息注释您也可使用 Not Exists() 来确定是否尚未加载字段值&#xff0c;但是如果要在…

Excel+VBA处理高斯光束

文章目录 1 图片导入与裁剪2 获取图片数据3 数据拟合 1 图片导入与裁剪 插入图片没什么好说的&#xff0c;新建Excel&#xff0c;【插入】->【图片】。 由于图像比较大&#xff0c;所以要对数据进行截取&#xff0c;选中图片之后&#xff0c;点击选项卡右端的【图片格式】…

【JavaWeb】头条新闻项目实现 基本增删改查 分页查询 登录注册校验 业务功能实现 第二期

文章目录 一、为什么使用token口令二、登录注册功能2.1 登录表单提交后端代码&#xff1a; 2.2 根据token获取完整用户信息代码实现&#xff1a; 2.3 注册时用户名占用校验代码实现&#xff1a; 2.4 注册表单提交代码实现&#xff1a; 三、头条首页功能3.1 查询所有头条分类3.2…

打卡今天学习 Linux

过年了&#xff0c;祝大家过年快乐 在今天的学习中&#xff0c;我们涉及了一些关键的 Linux 系统管理知识点&#xff0c;包括 systemctl、IP 地址配置、域名解析、映射的创建、软链接等。让我们简要回顾一下这些主题。 1. systemctl systemctl 是一个强大的 Linux 系统管理工…

docker自定义镜像并使用

写在前面 本文看下如何自定义镜像。 ik包从这里 下载。 1&#xff1a;自定义带有ik的es镜像 先看下目录结构&#xff1a; /opt/program/mychinese [rootlocalhost mychinese]# ll total 16 -rw-r--r-- 1 root root 1153 Feb 5 04:18 docker-compose.yaml -rw-rw-r-- 1 el…