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

图像变换

一、实验内容:

1 熟悉和掌握利用Matlab工具进行数字图像的读、写、显示等数字图像处理基本步骤。

2 熟练掌握各种图像变换的基本原理及方法。

3 能够从深刻理解图像变换,并能够思考拓展到一定的应用领域。

二、实验原理:

1、图像的傅里叶变换一(平移性质);

2、图像的傅里叶变换二(旋转性质);

3、单幅图像缩放与旋转的几何变换。

三、实验方法及程序

1、图像的傅里叶变换一(平移性质)

选取一幅图像,进行离散傅里叶变换,再对其分别进行轴与轴上的平移,得 其离散傅里叶变换,观察 3 幅结果图,实验程序如下。

2、图像的傅里叶变换二(旋转性质)

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

3、图像的离散余弦变换一

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

4、图像的离散余弦变换二

选取一幅图像,进行离散余弦变换,并对其进行压缩解压,观察其结果。

5、图像的哈达玛变换

选取一幅图像,进行哈达玛变换,观察其结果。对一幅图像进行哈达玛变换。 部分参考程序(以一幅256256的图像为例,首先将其分割成 1024 个88的子 图像块后,然后对每个图像块进行变换,再按照每个系数的方差来排次序,保留 方差较大的系数,舍去方差较小的系数。保留原系数的 1/2,即 32 个系数,进 行 2:1 的压缩。

五、实验结果分析

1、图像的傅里叶变换一(平移性质)

2、图像的傅里叶变换二(旋转性质)

3、图像的离散余弦变换一

4、图像的离散余弦变换二

5、图像的哈达玛变换

六、思考题

1.将一幅图像分别进行 X 轴与 Y 轴上的平移,所得到的傅里叶频谱与原图像的 傅里叶频谱有什么变化,请说明理由。

答:在进行X轴和Y轴上的平移时,傅里叶频谱的变化主要体现在相位上。平移只会引起相位的变化,不会影响幅度谱。傅里叶变换后的频谱在频率轴上整体平移,但谱的形状和幅度保持不变。

2.将一幅图像进行离散傅里叶变换,得到其傅里叶频谱图,再对原图像进行一 定角度的旋转,得到的频谱图与原图的频谱图进行比较,以及原图像与其傅里叶 频谱存在的何种角度关系,说出符合那些性质。

答:进行图像旋转后,其傅里叶频谱图也会随之旋转,旋转角度等于图像旋转角度。原图像与其傅里叶频谱存在90度的相位差,即它们之间有90度的旋转关系。

3.将一幅图像进行离散余弦变换,得到其频谱图,观察其频谱图有何特点,再 经过离散余弦反变换得到还原图像,比较与原图有何差别。

答:离散余弦变换得到的频谱图在图像中心具有较高的能量集中,而边缘部分能量较低。通过离散余弦反变换,还原图像可能会出现一些高频部分的损失,尤其是在低频部分保留较好的情况下。

4.将一幅图像进行离散余弦变换,再进行压缩解压,观察不同压缩 DCT 系数以 及解压后图像有何变化。

答:进行离散余弦变换的图像,通过压缩DCT系数可以实现图像的压缩。不同的压缩DCT系数会导致图像信息的不同程度损失,解压后图像的质量与压缩程度相关,过度压缩可能导致失真。

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

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

相关文章

Ubuntu 常用命令之 less 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 less命令是一个在Unix和Unix-like系统中用于查看文件内容的命令行工具。与more命令相比,less命令提供了更多的功能和灵活性,例如向前和向后滚动查看文件,搜索文本,查看长行等。 les…

Hive-基础介绍

文章目录 前言一、HiveQL介绍1. 概述2. 数据模型3. 数据定义语言(DDL)(1) 创建表(2) 创建分区表(3) 添加分区(4) 删除表 4. 数据操作语言(DML)(1) 插入数据(2) 查询数据(3) 更新数据(4) 删除数据 二、HiveQL函数1. 字符串函数1.1 …

ChatGPT一周年:开源语言大模型的冲击

自2022年末发布后,ChatGPT给人工智能的研究和商业领域带来了巨大变革。通过有监督微调和人类反馈的强化学习,模型可以回答人类问题,并在广泛的任务范围内遵循指令。在获得这一成功之后,人们对LLM的兴趣不断增加,新的LL…

R语言【base】——invisible将控制台的输出模式调整为隐藏,只允许赋值后输出,返回对象的(临时)不可见副本

Package base version 4.3.2 invisible(x NULL) 参数【x】&#xff1a;一个任意的 R 对象&#xff0c;默认为 NULL。 如果希望函数返回的值可以赋值&#xff0c;但在未赋值时不打印&#xff0c;则可以使用该函数。 f <- function(x){if (x){return (x)} else {return (in…

阿里云ECS配置IPv6后,如果无法访问该服务器上的网站,可检查如下配置

1、域名解析到这个IPv6地址,同一个子域名可以同时解析到IPv4和IPv6两个地址&#xff0c;这样就可以给网站配置ip4和ipv6双栈&#xff1b; 2、在安全组规则开通端口可访问&#xff0c;设定端口后注意授权对象要特殊设置“源:::/0” 3、到服务器nginx配置处&#xff0c;增加端口…

react v-18父组件调用子组件的方法和数据

版本 "react": "^18.1.0", "react-dom": "^18.1.0", 父组件 import React, { useState, useRef, memo, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Card } from &q…

Qt之QWidget 自定义倒计时器

简述 Qt提供的带进度显示的只有一个QProgresBar,这个控件要么是加载进度从0~100%,要么是持续的两边滚动;而我想要是倒计时的效果,所以QProgresBar并不满足要求,而Qt重写控件相对于MFC来说简直是轻而易举,所以就整了两种不同的倒计时控件; 效果 代码 QPushButton的绘制部…

2023 英特尔On技术创新大会直播 | AI魅力的生活化

目录 前言正文 前言 依稀记得去年的直播大会&#xff0c;主要展现了其灵活、加速和半集成化的独特优势&#xff0c;广泛应用于人工智能、5G通信、边缘计算以及视觉图像处理等领域&#xff0c;不断提供领先的性能、能效和可编程性的创新。 如今又带来一些不一样的特色&#xf…

通过U盘:将电脑进行重装电脑

目录 一.老毛桃制作winPE镜像 1.制作准备 2.具体制作 下载老毛桃工具 插入U盘 选择制作模式 正式配置U盘 安装提醒 安装成功 具体操作 二.使用ultrasio制作U盘 1.具体思路 2.图片操作 三.硬盘安装系统 具体操作 示例图 ​编辑 一.老毛桃制作winPE镜像 1.制作准…

【Pytorch】学习记录分享6——PyTorch经典网络 ResNet与手写体识别

【Pytorch】学习记录分享5——PyTorch经典网络 ResNet 1. ResNet &#xff08;残差网络&#xff09;基础知识2. 感受野3. 手写体数字识别3. 0 数据集&#xff08;训练与测试集&#xff09;3. 1 数据加载3. 2 函数实现&#xff1a;3. 3 训练及其测试&#xff1a; 1. ResNet &…

volatile关键字

1.什么是volatile? 1.1.volatile是一种同步机制,比synchronized或Lock更轻量级,因为使用volatile并不会发生线程“上下 文切换”等开销很大的行为,volatile关键字只是把被修饰的变量修改后刷新到“主内存”中; 1.2.如果一个变量被volatile修饰,那么JVM就知道这个变量可能会被…

Bash 脚本学习

文章目录 1、脚本编程基础2. 变量2.1 参数变量的引用2.2 环境变量 3 条件判断语句3.1 if 语句3.1.1 语法3.1.2 案例 3.2 case 语句3.2.1 语法3.2.2 案例 3.3 判断参数说明 4 循环语句4.1 for 循环4.1.1 语法4.1.2 案例 4.2 while循环4.2.1 语法4.2.2 案例4. 3 循环总结 5. 函数…

Prompt-to-Prompt:基于 cross-attention 控制的图像编辑技术

Hertz A, Mokady R, Tenenbaum J, et al. Prompt-to-prompt image editing with cross attention control[J]. arXiv preprint arXiv:2208.01626, 2022. Prompt-to-Prompt 是 Google 提出的一种全新的图像编辑方法&#xff0c;不同于任何传统方法需要用户指定编辑区域&#xff…

微信小程序开发系列-01创建一个最小的小程序项目

本文讲述了通过微信开发者工具&#xff0c;创建一个新的小程序项目&#xff0c;完全从零开始&#xff0c;不依赖开发者工具的模板。目的是为了更好的理解小程序工程项目的构成。 文章目录 创建一个空项目app.json全局配置pagessitemapLocation app.js 创建一个空项目 打开微信…

新型智慧视频监控系统:基于TSINGSEE青犀边缘计算AI视频识别技术的应用

边缘计算AI智能识别技术在视频监控领域的应用有很多。这项技术结合了边缘计算和人工智能技术&#xff0c;通过在摄像头或网关设备上运行AI算法&#xff0c;可以在现场实时处理和分析视频数据&#xff0c;从而实现智能识别和分析。目前来说&#xff0c;边缘计算AI视频智能技术可…

aws-waf-cdn 基于规则组的永黑解决方案

1. 新建waf 规则组 2. 为规则组添加规则 根据需求创建不同的规则 3. waf中附加规则组 &#xff08;此时规则组所有规则都会附加到waf中&#xff0c;但是不会永黑&#xff09; 此刻&#xff0c;可以选择测试下规则是否生效&#xff0c;测试前确认保护资源绑定无误 4. 创建堆…

大数据开发职业规划

大数据开发职业规划 我的学历是双非本&#xff0c;在学校学习的是大数据专业&#xff0c;目前是在企业做大数据全栈的工作&#xff0c;爬虫&#xff0c;数仓&#xff0c;风控项目&#xff0c;etl开发都做 .................................................................…

FFmpeg实现rtp推流

以下是一个简单的示例代码&#xff0c;演示了如何使用 UDP 或 TCP 进行音视频传输&#xff1a; 代码未经验证&#xff0c;供参考 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #in…

Mac设置ll永久生效,设置.bash_profile生效

Mac设置ll永久生效&#xff0c;设置.bash_profile生效 前言&#xff1a;Mac上自带的终端不好用&#xff0c;一般我推荐ITerm终端&#xff0c;官网下载即可 如果想只生效一次&#xff1a; 直接在终端执行alias llls -l即可 如果想永久生效&#xff1a; vim ~/.bash_profile&…

02 - Kbuild子系统(整理中)

1. Kbuild简介 Kernel build&#xff0c;用来编译 Linux 内核基于 GNU make 设计&#xff0c;对 Makefile 进行扩充 菜单式配置&#xff1a;Kconfig预定义目标和变量&#xff1a;xx_defconfig、menuconfig、obj-y跨平台工具、递归式 Makefile Linux 模块化设计、高度可以裁剪 …