图像处理实验报告

news2024/11/22 16:39:36

实验一 图像处理的MATLAB基础

实验目的:熟悉数字图象处理的基本软件工具和操作

实验内容:Matlab应用复习,矩阵产生、操作;矩阵运算以及字符运算。

1.利用增量产生向量[0,2,4,6,8,10]。

2.利用magic(n)函数产生7维魔鬼矩阵A,并利用tril函数提取矩阵A的下三角矩阵作为矩阵B。

3.将矩阵A的第4行的值改为10,将矩阵A的第6到7列的值改为1,记作矩阵C;将矩阵A 的最后一行删除,记作矩阵D;返回矩阵D的行数W。

4.定义两个3*3的矩阵P、Q,计算两个矩阵的乘积M=P*Q,N=Q*P,并验证M是否等于N。

5.将自己的名字定义成字符name,如name=‘zhang ming’,将字符name转换为数值name1,再将数值name1转换为字符name2。

程序实现:

实验结果:

结果分析:

通过linspace函数生成指定向量[0 2 4 6 8 10]。利用magic(n)函数和tril函数得到A,B矩阵,CD矩阵也是通过简单的操作得到。运用rand(3)函数得到P和Q,验证结果不相等。通过一对单引号创建了字符name,再运用double函数后,转换成双精度浮点数数组,再利用char函数就转换成字符数组了。

实验二 图像显示与类型转换

实验目的:熟悉数字图像处理中读入图像与显示图像的方法,掌握彩色图像、灰度图像、二值图像以及索引图像的区别以及转换关系。

实验内容:对选取的示例图像进行读取、显示和转换等。

1.用图形表示连续调制波形 y=sin(t)sin(9t),自变量取101个点画出y2,画两个子图,在子图1上用红色的点显示y2,并将子图题目设置为“子图(1)”,在子图2上用蓝色点显示y2,并将子图题目设置为“子图(2)”。

示例:%

t1=(0:11)/11*pi; % 自变量取 12 个点

y1=sin(t1).*sin(9*t1); % 计算函数值

2.读入“lena”tif格式图像,分别按256灰度级、8灰度级显示图像;显示伪彩色图像;最后将tif格式图像保存为jpg图像;

3.读入flowers彩色图像,利用dither函数将其转化为索引图像,利用subplot函数在同一幅图中显示真彩图以及索引图;

4. 读入flowers彩色图像,利用dim2bw函数将其转化为二值图像,利用rgb2gray函数将其转换为灰度图像,利用subplot函数在同一幅图中显示二值图像以及灰度图像。

程序实现:

实验结果:

伪彩色图像:

转为jpg:

显示真彩图以及索引图:

显示二值图像以及灰度图像:

结果分析:

彩色图像使用R、G、B三个分量表示每个像素,每个通道取值范围在0到255之间,数据类型通常为8位无符号整型。相比之下,灰度图像每个像素只包含一个采样颜色,呈现从最暗黑色到最亮白色的灰度,数据类型同样为8位无符号整型。而二值图像中,每个像素仅有两种可能取值,0代表黑色,1代表白色,数据类型一般为1个二进制位。

另一方面,索引图像类似于字典查找,通过建立颜色索引来解决彩色图像占用大量空间的问题,特别适用于色彩构成相对简单的场景。彩色图像可以被转换为灰度图像,而灰度图像则可转换为二值图像。彩色图像还可以被转换为索引图像,而索引图像则可转换为灰度图像,灰度图像也可以转换为二值图像。然而,灰度图像不能直接转换为彩色图像。

实验三 图像时域变换

实验目的:熟悉彩色图像的几何变换。

实验内容:读入一副彩色图像,对图像以此进行横向拉伸2倍,顺时针旋转60度,纵向拉伸1.5倍,纵向错切0.5。在一幅图里展示出原图和变换后的图像。

程序实现:

定义单通道错切函数:

定义RGB彩色图像错切函数,原理是R、G、B每个通道都单独调用单通道错切函数:

实验结果:

横向拉伸2倍:

顺时针旋转60度:

纵向拉伸1.5倍:

纵向错切0.5:

结果分析:

对于图像横向拉伸2倍,该图的宽度增加两倍,变得更加扁平,图像可识别性降低。

对于图像顺时针旋转60°,该图只有角度发生变化,并不影响图片本身的可识别性。

对于图像纵向拉伸1.5倍,该图的高度增加1.5倍,变得更加细长,图像可识别性降低。

对于图像纵向错切0.5,该图在垂直方向上发生一半的错切变形,图像的宽度没有变化,图像可识别性降低。

实验四 图像的频域变换

实验目的:掌握图像傅里叶变换的基本性质,及滤波器的应用

实验内容:读入一副彩色图像,构建高通的低通滤波器,对图像进行高通和低通滤波,要求低通滤波器模板面积约为图像的25%,高通滤波器模板面积约为80%。

程序实现:

实验结果:

结果分析:

低通滤波后,高频分量减少,保留低频分量,图像呈现出模糊外观的效果,图像整体上看起来更加平滑和均匀,对比度下降,也失去了边缘以及细小的特征。

经过高通滤波后,低频分量减少,保留高频分量,图像的边缘更加突出和细致。

实验五 图像增强

实验目的:理解空域滤波的基本概念

实验内容:读入一副彩色图像,分别对图像进行3x3、5x5、7x7的均值滤波和中值滤波。

程序实现:

实验结果:

结果分析:

均值滤波简单来说就是对某个区域内的像素值取平均值代替原像素值,中值滤波和均值滤波不同的地方是,中值滤波是对图像的像素值进行排序,取中间的像素值赋给新的图像,使拥有不同灰度的点看起来更接近于它的邻近值。

如图中结果所示,中值滤波后的图像明显变得更平滑,但均值滤波的图像整体会更加模糊。

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

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

相关文章

离散数学---概率, 期望

本文根据 MIT 计算机科学离散数学课程整理(Lecture 22 ~ Lecture 24)。 1 非负整数期望性质 用 N 表示非负整数集合,R 是 N 上的随机变量,则 R 的期望可以表示成: 证明: 换一个形式,把每一列…

GPU服务器厂家:科研服务器领域机遇与博弈,AMD 新UDNA 架构

科研服务器作为推动科学研究进步的核心基础设施,其性能与架构的创新对于整个科研生态有着极为关键的影响。AMD 全新推出的 UDNA 架构,引发了广泛的关注与讨论。 AMD UDNA 架构于科研服务器的产品数据与市场格局 AMD 在计算机硬件领域的影响力持续攀升&a…

STM32H7开发笔记(2)——H7外设之多路定时器中断

STM32H7开发笔记(2)——H7外设之多路定时器中断 文章目录 STM32H7开发笔记(2)——H7外设之多路定时器中断0.引言1.CubeMX配置2.软件编写 0.引言 本文PC端采用Win11STM32CubeMX4.1.0.0Keil5.24.2的配置,硬件使用STM32H…

【Linux】Linux入门实操——定时任务调度

一、crond调度 1. 概述 任务调度: 是指系统在某个时间执行的特定的命令或程序。任务调度分类 1. 系统工作 : 有些重要的工作必须周而复始地执行。如病毒扫描等 2. 用户工作 :用户可能希望执行某些程序,比如对mysql数据库的备份。 2. 基本语法 cron…

找到字符串中所有字母异位词(java)

题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词 示例 1: 输入: s "cbaebabacd", p "abc&…

Leetcode226. 翻转二叉树(HOT100)+Leetcode221. 最大正方形(HOT100)

链接 题解: 本题是要镜像反转二叉树,相当于从中间一分,然后把左子树和右子树对调,但又不是简单的对调,还要继续反转子树的子树,所以要用递归。 我们特判root是否为空(否则出现nullptr->nul…

ISUP协议视频平台EasyCVR私有化视频平台新能源汽车充电停车管理方案的创新与实践

在环保意识提升和能源转型的大背景下,新能源汽车作为低碳出行的选择,正在全球迅速推广。但这种快速增长也引发了充电基础设施短缺和停车秩序混乱等挑战,特别是在城市中心和人口密集的居住区,这些问题更加明显。因此,开…

国际知名摄影测量与遥感专家、瑞士苏黎世联邦理工学院终身教授Armin Gruen莅临大势智慧参观交流

11月18日,瑞士苏黎世联邦理工学院终身教授、国际摄影测量与遥感学会荣誉会员、武汉大学测绘遥感信息工程国家重点实验室客座教授Armin Gruen莅临武汉大势智慧科技有限公司(以下简称“大势智慧”)参观交流。大势智慧董事长黄先锋亲自接待了Arm…

RTSP播放器EasyPlayer.js播放器分辨率高的视频在设置container的宽高较小时,会出现锯齿状的画面效果

流媒体播放器的核心技术及发展趋势展现了其在未来数字生活中的无限潜力。随着技术的不断进步和市场的持续发展,流媒体播放器将在内容创新、用户体验优化以及跨平台互通等方面取得新的突破。对于从业者而言,把握这些趋势并积极应对挑战将是实现成功的关键…

C# 数据结构之【树】C#树

以二叉树为例进行演示。二叉树每个节点最多有两个子节点。 1. 新建二叉树节点模型 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DataStructure {class TreeNode{public int Data { get;…

Sqlite: Java使用、sqlite-devel

这里写目录标题 一、简介二、使用1. Java项目中(1)引入驱动(2)工具类(3)调用举例 2. sqlite-devel in linuxsqlite-devel使用 三、更多应用1. 数据类型2. 如何存储日期和时间3. 备份 一、简介 非常轻量级&…

MySQL深入:B+树的演化、索引和索引结构

提示:内容是读《MySQL技术内幕:InnoDB存储引擎》,笔记摘要 文章目录 二叉查找树平衡二叉树(AVL) B树(BTree)B树(BTree)InnoDB B树索引索引结构(InnoDB B树)B树存放的数据量 二叉查找树 在二叉查找树中,左子…

C语言-11-18笔记

1.C语言数据类型 类型存储大小值范围char1 字节-128 到 127 或 0 到 255unsigned char1 字节0 到 255signed char1 字节-128 到 127int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295short2 字节…

“乐鑫组件注册表”简介

当启动一个新的开发项目时,开发者们通常会利用库和驱动程序等现有的代码资源。这种做法不仅节省时间,还简化了项目的维护工作。本文将深入探讨乐鑫组件注册表的概念及其核心理念,旨在指导您高效地使用和贡献组件。 概念解析 ESP-IDF 的架构…

【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南

文章目录 PyTorch 全面解析2.1 PyTorch 的发展历程2.2 PyTorch 的核心特点2.3 PyTorch 的应用场景 TensorFlow 全面解析3.1 TensorFlow 的发展历程3.2 TensorFlow 的核心特点3.3 TensorFlow 的应用场景 Keras 全面解析4.1 Keras 的发展历程4.2 Keras 的核心特点4.3 Keras 的应用…

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号 Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-单端信号详细介绍了单端信号如何进行TDR仿真分析,下面介绍如何对差分信号进行TDR分析,还是以下图为例进行分…

Django一分钟:django中收集关联对象关联数据的方法

场景:我有一个模型,被其它多个模型关联,我配置了CASCADE级联删除,我想要告知用户删除该实例之后,哪些关联数据将会被一同删除。 假设我们当前有这样一组模型: class Warehouse(models.Model):""…

Flink学习连载第二篇-使用flink编写WordCount(多种情况演示)

使用Flink编写代码,步骤非常固定,大概分为以下几步,只要牢牢抓住步骤,基本轻松拿下: 1. env-准备环境 2. source-加载数据 3. transformation-数据处理转换 4. sink-数据输出 5. execute-执行 DataStream API开发 //n…

利用开源的低代码表单设计器FcDesigner高效管理和渲染复杂表单结构

FcDesigner 是一个强大的开源低代码表单设计器组件,支持快速拖拽生成表单。提供丰富的自定义及扩展功能,FcDesigner支持多语言环境,并允许开发者进行二次开发。通过将表单设计输出为JSON格式,再通过渲染器进行加载,实现…

【三合黑马指标】指标操盘技术图文教程,三线粘合抓黑马,短线买点持股辅助,通达信炒股软件指标

如上图,副图指标【三合黑马指标】,三条线彩线1-2-3,四条虚线代表四种短线技术做多信号,最底部的凸起形态线短线做多确认信号 。 黑马牛股选股技巧,可以选择周线三线粘合状态,在粘合时选股关注,如…