图像处理实验报告

实验一 图像处理的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的均值滤波和中值滤波。

程序实现:

实验结果:

结果分析:

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NLP论文速读(MPO)|通过混合偏好优化提高多模态大型语言模型的推理能力

论文速读|Dynamic Rewarding with Prompt Optimization Enables Tuning-free Self-Alignment of Language Models 论文信息: 简介: 本文探讨的背景是多模态大型语言模型(MLLMs)在多模态推理能力上的局限性,尤其是在链式…

如何更改手机GPS定位

你是否曾想过更改手机GPS位置以保护隐私、玩游戏或访问受地理限制的内容?接下来我将向你展示如何使用 MagFone Location Changer 更改手机GPS 位置!无论是在玩Pokmon GO游戏、发布社媒贴子,这种方法都快速、简单且有效。 第一步:下…

Java项目实战II基于微信小程序的图书馆自习室座位预约平台(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在知识爆炸的时代,图书馆和…

图像处理 - 色彩空间转换

色彩空间转换的含义与原理 色彩空间转换是指将一种颜色模型或表示方式中的颜色数据映射到另一种颜色模型中的过程。色彩空间(Color Space)本质上是一个三维坐标系统,每个点都表示图像中的某种颜色。在实际应用中,由于不同的色彩空…

web——sqliabs靶场——第十三关——报错注入+布尔盲注

发现是单引号加括号闭合的 尝试联合注入 发现不太行,那尝试报错注入。 测试报错注入 unameadmin) and updatexml(1,0x7e,3) -- &passwdadmin&submitSubmit 爆数据库 unameadmin) and updatexml(1,concat(0x7e,database(),0x7e),3) -- &passwdadmin&a…

大语言模型中Softmax函数的计算过程及其参数描述

文章目录 概要Softmax的定义 概要 **Softmax 作用:**主要用于自注意层,作用是将输出映射成区间在(0,1)的值,并且做了归一化,所有元素的和累加起来等于1。 **Softmax使用场景:**Llama-7B模型中,其在自注意层…

Jmeter中的断言(三)

9--MD5Hex断言 功能特点 数据完整性验证:验证响应数据的 MD5 哈希值是否符合预期。简单配置:只需提供预期的 MD5 哈希值即可。灵活配置:可以设置多个断言条件,满足复杂的测试需求。 配置步骤 添加 MD5Hex 断言 右键点击需要添加…

后端开发如何高效使用 Apifox?

对于后端开发者来说,日常工作中少不了接口的设计、调试和文档编写。你是否也曾因接口文档更新不及时、测试工具分散而头疼不已?Apifox,这款全能型工具,或许能成为你的效率神器! Apifox究竟有哪些功能能帮助后端开发者…

JMeter监听器与压测监控之 InfluxDB

1. 简介 在本文中,我们将介绍如何在 Kali Linux 上通过 Docker 安装 InfluxDB,并使用 JMeter 对其进行性能监控。InfluxDB 是一个高性能的时序数据库,而 JMeter 是一个开源的性能测试工具,可以用于对各种服务进行负载测试和性能监…

操作系统基础——针对实习面试

目录 操作系统基础什么是操作系统?简述其主要功能请举例几种不同类型的操作系统,并简要说明它们的特点 操作系统基础 什么是操作系统?简述其主要功能 一、操作系统的定义 操作系统(Operating System,简称OS&#xff…

uni-app快速入门(十)--常用内置组件(下)

本文介绍uni-app的textarea多行文本框组件、web-view组件、image图片组件、switch开关组件、audio音频组件、video视频组件。 一、textarea多行文本框组件 textarea组件在HTML 中相信大家非常熟悉,组件的官方介绍见: textarea | uni-app官网uni-app,un…

CSS中Flex布局应用实践总结

① 两端对齐 比如 要求ul下的li每行四个,中间间隔但是需要两段对齐,如下图所示: 这是除了基本的flex布局外,还需要用到:nth-of-type伪类来控制每行第一个与第四个的padding。 .hl_list{width: 100%;display: flex;align-items…

Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现

Spring Boot Vue 基于 RSA 的用户身份认证加密机制实现 什么是RSA?安全需求介绍前后端交互流程前端使用 RSA 加密密码安装 jsencrypt库实现敏感信息加密 服务器端生成RSA的公私钥文件Windows环境 生成rsa的公私钥文件Linux环境 生成rsa的公私钥文件 后端代码实现返…

Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~

AI 驱动 3D 动画 大家好,我是石小石!随着 Web 技术的发展,Three.js 成为构建 3D 图形和动画的主流工具。与此同时,人工智能(AI)在图像处理、动作生成等领域表现出强大能力。将 AI 与 Three.js 结合&#x…

bpmn.js显示流程图

目标&#xff1a;vue2 接口返回xml - 弹窗显示流程图 - 根据需求高亮节点 一、安装依赖 npm i bpmn-js 添加上的版本是 "bpmn-js": "^11.5.0" 二、只读显示流程图 <div ref"canvas" style"width:100%;height: calc(100vh…

Vue Form表单的使用,rules格式校验网络校验,键盘按键监听

Form表单 rules格式校验 可以在validator中进行网络请求&#xff0c;实现网络校验 const formRules {userName: [{required: true, message: "用户名不能为空", trigger: blur}, {min: 5,max: 10,message: "长度必须5-10位",trigger: blur}],passWord: …

单片机智能家居火灾环境安全检测-分享

目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 电路图采用Altium Designer进行设计&#xff1a; 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 传统的火灾报警系统大多依赖于简单的烟雾探测器或温度传感器&#xff0c;…

TCP并发服务器

端口号快速复用函数 通过getsockopt和setsockopt函数&#xff0c;管理套接字的端口号复用设置。具体操作如下&#xff1a; getsockopt函数 int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);功能&#xff1a;获取套接字的某些选项的属性。…

vue3的宏到底是什么东西?

前言 从vue3开始vue引入了宏&#xff0c;比如defineProps、defineEmits等。我们每天写vue代码时都会使用到这些宏&#xff0c;但是你有没有思考过vue中的宏到底是什么&#xff1f;为什么这些宏不需要手动从vue中import&#xff1f;为什么只能在setup顶层中使用这些宏&#xff…

无重复字符的最长子串习题分析

习题&#xff1a;&#xff08;leetcode 3 &#xff09; 给定一个字符串s&#xff0c;请你找出其中不含有重复字符的最长子串的长度。 分析&#xff1a; 对于寻找子串、数组中某部分等&#xff0c;我们可以使用滑动窗口和双指针思想来求解。 滑动窗口通常用于解决需要连续子…