实验报告数字图像的基本操作

2023-05-16

一、实验目的

  1. 了解Matlab的基本功能及操作方法
  2. 练习图像读写和显示函数的使用方法
  3. 掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息
  4. 熟悉常用的图像文件格式与格式转换;

二、实验环境

  1. PC计算机
  2. MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)
  3. 实验所需要的图片
  • 实验原理

一幅数字图像在Matlab中用一个矩阵来表示,对数字图像进行处理,实质上就是对特定的图像矩阵进行变换的过程   

Imread()函数

imread是计算机语言中的一个函数,用于读取图片文件中的数据。在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。

使用方法:i=imread('E:\ins风\pikaqiu.tif')

Whos()函数

whos用于列出当前工作空间中所有变量,以及它们的名字、尺寸(比如数组的行列维数)、所占字节数、属性等信息。这些信息都显示在工作空间窗口中。

使用方法:whos i

Imshow()函数

imshow是 matlab 中显示图像的函数,在matlab的命令窗口中输入doc imshow或者help imshow即可得到关于该函数的帮助信息。 用指定的灰度范围 [low high]显示 灰度图像 I。 显示结果,图像中灰度值等于或低于low的都将用黑色显示,而灰度值大于等于high的都显示为白色,介于low和high之间的用其灰度级的默认值的中间色调显示。

使用方法:imshow (i)

Size()函数

size (A)函数是用来求矩阵的大小的。. 如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。. 其中r=size (A,1)该语句返回的是矩阵A的行数, c=size (A,2) 该语句返回的是矩阵A的列数.

使用方法:A=size(i)

Imfinfo函数

imfinfo是MATLAB函数,在图像处理中,该函数用于获取一张图片的具体信息

使用方法:imfinfo('E:\ins风\pikaqiu.tif')

Imwrite函数

将图片写入到指定文件夹,或者将一个数组转换成图片并写入到指定文件夹

使用方法:imwrite(i,'E:\ins\yasuopikaqiu.jpg','quality',10)

Subplot函数

subplot是 MATLAB 中的 函数 ,是将多个图画到一个平面上的工具。 在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。 subplot是 MATLAB 中的函数。 使用方法:subplot(m,n,p)或者subplot(m n p)。 subplot是将多个图画到一个平面上的工具。 其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。 p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。 在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息

使用方法:subplot(2,2,1)

Figure函数

MATLAB中可以通过figure函数创建多个图形窗口对象来安置和显示各种句柄图形对象,其调用格式如下。 ·h0=figure (属性名1,属性值1,属性名2,属性值2,…):按指定的属性来创建图形窗口。 ·不带参数的figure函数可以创建一个新的图形窗口,并将其设为当前图形窗口, MATLAB一般返回一个整数数值作为该图形窗口的句柄。

使用方法:subplot(2,2,2)

figure(1)

Im2bw函数

matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把 灰度图像 (grayscale image)转换成 二值图像 。

使用方法:z=im2bw(y)

rgb2gray函数

将真彩色图像转换为灰度图像。 有关此函数的更多帮助信息,请在matlab命令窗口中键入docrgb2gray或helprgb2gray。 调用方法:I=rgb2gray(RGB)将真彩色RGB图像转换为灰色图像。 (RGB不变)NewMap=rgb2gray(map)返回灰度调色板。

使用方法:RGB = imread('E:\ins风\rose.jpg');%将图像读入工作区

mysize=size(RGB)

Y = rgb2gray(RGB);%将图像灰度化

mysize=size(Y)

imshow(Y)%显示灰度图像

imwrite(Y,'E:\ins风\rose1.jpg')

Title函数

在MATLAB中,title函数用来为图像设置标题,其中,title函数也可以设置标题的大小,位置等。

使用方法:title('灰度图片')

  • 实验图像

 

 

五、实验步骤和结果

  1. 利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;

i=imread('E:\ins风\pikaqiu.tif')

 

  1. 利用whos 命令提取该读入图像flower.tif的基本信息;

whos i

  1. 利用imshow()函数来显示这幅图像;

imshow (i)

 

 

 

  1. 利用size函数得到图像的行列数;

A=size(i)

  

  1. 用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;

imfinfo('E:\ins风\pikaqiu.tif')

 

 

  1. 利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’, q), q取0-100。

imwrite(i,'b.jpg','quality',10)

 

  1. 同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。

 

*此处寻得一张图片,将其转换为灰度图片,具体实现如下:

 

 

 

  1. 用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

 

 

  1. 将多幅图像显示在一个页面中

 

  

  1. 为显示的图像添加图名

 

注意:将每一步的函数执行语句和实验结果写入实验报告。

六、实验思考

通过自编写Matlab的系统函数了解了函数内部的具体实现,对图像类型转换、代数原运算的原理加深理解;

后通过查阅资料发现代数运算还能够达到去除背景、降噪,图像增强等效果,不过在实验过程中没有去实现。所以实验原理虽然不是很复杂,但如果从其他角度来思考,简单的运算可以实现的功能可以有很多,还需要在之后的实验中加强思考能力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实验报告数字图像的基本操作 的相关文章

  • 【stm32CubeMX】基于STM32F103C8T6的LED闪烁并用Keil的软件仿真逻辑分析仪功能观察

    stm32CubeMX 基于STM32F103C8T6的LED闪烁并用Keil的软件仿真逻辑分析仪功能观察 一 安装STM32CubeMX二 安装HAL库三 新建项目四 keil仿真调试五 实现六 总结七 参考资料 一 安装STM32Cub
  • 【Ubuntu20.04】ROS的安装与配置,话题通信、服务通信的编程实践验证

    Ubuntu20 04下ROS的安装与配置 xff0c 话题通信 服务通信的编程实践验证 一 ROS的安装1 1设置软件源1 2安装ROS noetic1 2 1添加 sources list1 2 2设置keys1 2 3更新系统软件源1
  • 使用scp转移站点到新的服务器

    使用scp将一个Linux系统中的文件或文件夹复制到另一台Linux服务器上 复制文件或文件夹 xff08 目录 xff09 命令 xff1a 一 复制文件 xff1a xff08 1 xff09 将本地文件拷贝到远程 scp 文件名 用户
  • Wrapper 子句构造器

    Wrapper的两个子类 1 QueryWrapper lt T gt 作为where条件子句的构造器 2 UpdateWrapper lt T gt 作为set子句的构造器 IPage 分页器接口 1 Page 类 不同数据库的分页的SQ
  • MOBILEVITV3: MOBILE-FRIENDLY VISION TRANS- FORMER WITH SIMPLE AND EFFECTIVE FUSION OF LOCAL, GLOBAL

    paper链接 https arxiv org abs 2209 15159 code链接 MOBILEVITV3 MOBILE FRIENDLY VISION TRANS FORMER WITH SIMPLE AND EFFECTIVE
  • 位置型PID的实现——基于直线一级倒立摆

    倒立摆的实验是在小半年前的课程实验中遇到的 xff0c 由于比较感兴趣 xff0c 就多花了些时间研究了一下 xff0c 实验设备是前海格致便携倒立摆 xff0c 编写语言是C语言 xff0c 如果你需要使用其他语言 xff0c 我相信在理
  • 第7章 HBase操作

    文章目录 一 xff1a 判断题二 xff1a 单选题三 xff1a 主观题1 xff1a 创建学生表scores xff0c 列族为grade 年级 course 课程 xff0c 学生姓名name作为行健的代码 2 xff1a 查看创建
  • Python/Pytorch常用函数大汇总(持续更新中)

    python装饰器 def dec1 func print 34 1111 34 def one print 34 2222 34 func print 34 3333 34 return one def dec2 func print 3
  • 将uc/OS其移植到stm32并完成相关任务

    目录 一 uc OS的介绍 1 概述 2 工作原理 3 主要特点 二 创建cubemx项目 1 选择stm32f103c8 2 配置RCC 编辑 3 配置SYS 4 生成项目 三 移植和keil5相关操作 1 进入官网下载 xff1a ht
  • 匿名飞控TI版_PID部分,串级PID,微分先行,前馈控制

    文章目录 PID介绍有趣的故事控制模型位置式PID和增量式PID位置式PID增量式PID 串级PID前馈控制微分先行匿名代码分析 PID介绍 PID介绍 有趣的故事 PID的故事 space space space space space
  • c#委托的定义和使用

    什么是委托 xff1f 当你需要将方法当成一个参数传递的时候就需要使用委托 xff0c 委托是一个类型 xff0c 可以赋值一个方法的引用 具体怎么使用下面就简单展示一下 1 定义委托 delegate void MyDelegate in
  • ssh登录出现 “WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”解决办法

    问题场景 xff1a 第一次ssh板子成功登录后 xff0c 换了另外一块同样型号的开发板 xff0c 重新ssh远程登录 xff0c 出现了WARNING REMOTE HOST IDENTIFICATION HAS CHANGED 问题
  • 多线程及网络编程

    目录 实验目的及要求 一 实验原理 xff1a 二 操作步骤 xff1a 三 实验数据 1 模拟火车站4个窗口同时卖50张票 2 使用UDP协议实现用户信息的发送和接收功能 3 运用TCP协议实现向服务器上传文件 实验结果及分析 个人简介
  • 阿里云在线扩容磁盘,最简化,但不一定适用你的ECS版本

    在扩展系统盘扩展分区和文件系统前 xff0c 请提前完成以下工作 已创建快照备份数据 为防止操作失误导致数据丢失 xff0c 建议您操作前使用快照备份数据 若尚未创建快照 xff0c 请参见创建快照 已扩容云盘 若尚未扩容 xff0c 请参
  • AD学习笔记(二)原理图库以及原理图绘制

    文章目录 AD学习笔记第二讲 原理图库以及原理图绘制一 认识原理图二 原理图库绘制三 原理图绘制1 原理图纸的操作2 原理图库的调用放置3 导线及网络标识的添加4 原理图可读性优化处理5 原理图统一编号设置6 PCB封装名称的统一添加与管理
  • C工程与寄存器封装

    目录 一 C语言工程简介 二 启动代码分析 三 C语言实现LED 四 寄存器的封装方式 五 寄存器操作的标准化 六 流水灯 一 C语言工程简介 先将工程模板解压 include里是 h文件 src里是 c文件 start里面是 s启动文件
  • Python第三章函数

    函数 文章目录 函数一 函数基础1 参数2 拆分参数列表3 参数传递位置传递地址传递传对象引用 4 函数返回值5 变量的作用域局部变量全局变量nonlocal关键字 7 包8 猴子补丁9 python标准库的应用1 random模块2 ti
  • 无显示器怎么玩树莓派

    无显示器怎么玩树莓派 文章目录 无显示器怎么玩树莓派 前言一 给树莓派烧系统二 设置WiFi及ssh端口三 远程连接四 注意事项 前言 很多时候我们在使用树莓派的时候身边都没有显示器 xff0c 关于这个问题 xff0c 我也十分苦恼 xf
  • ROS智能车定位导航仿真(Gazebo搭建赛道)

    ROS智能车定位导航仿真 xff08 Gazebo搭建赛道 xff09 前言一 ROS仿真功能包下载二 安装运行所需的插件三 racecar功能包编译四 测试程序运行五 运行功能包赛道六 注意事项 前言 Ubuntu版本 xff1a 18
  • 阿木实验室PX4开发课程整理

    1 1 xff1a alt 43 ctrl 43 t 打开终端 cd Desktop 进入到桌面目录 cd 返回上次访问目录 cd 返回上一目录 gedit circular cpp 进入某文件 roscd px4 control 进入文件

随机推荐

  • Java并发编程—CompletableFuture的异步执行案例

    在博主前几篇博客中 xff0c https blog csdn net qq 52545155 article details 128167519 spm 61 1001 2014 3001 5501 xff0c 给大家分享了关于多线程中异
  • 手写rtos的第一天

    唉 xff0c 不自不觉已经大三了啊 xff0c 大二的智能车生涯已经结束了 xff0c 不得不说 xff0c 省二是我不太能接受的 结果 xff0c 虽然嘴上说着没啥 xff0c 真正面对全省排名的时候 xff0c 内心的寂寥真的难以言表
  • FreeRTOS任务(动态)创建与删除(一)

    FreeRTOS学习总结 文章目录 前言一 浅浅了解二 创建任务1 动态任务创建2 动态实践 总结 前言 听朋友说 xff0c FreeRTOS很好用 xff0c 就在无聊的上网课期间浅学一下 提示 xff1a 以下是本篇文章正文内容 xf
  • FreeRTOS操作系统队列及队列API函数(五)

    FreeRTOS学习总结 文章目录 前言一 队列功能1 数据存储2 多任务访问3 出队阻塞4 入队阻塞 二 队列操作过程图示1 创建队列2 向队列发送第一个消息3 向队列发送第二个消息4 从队列中读取消息 二 API函数1 队列创建函数2
  • php导出word文件,打开损坏或者乱码

    下载Word文件 fileinfo 61 pathinfo fullname ob end clean header 39 Content type application x 39 fileinfo 39 extension 39 hea
  • FreeRTOS操作系统优先级翻转问题(八)

    FreeRTOS总结 文章目录 前言一 浅浅了解优先级翻转二 模拟 优先级翻转实验1 代码 总结 前言 在使用二值信号量的时候会遇到很常见的一个问题 优先级翻转 xff0c 优先级翻转在可剥夺 内核中是非常常见的 xff0c 在实时系统中不
  • 伽马分布,指数分布,卡方分布三者关系

    1 伽马分布是一个连续概率分布 xff0c 具有两个参数 alpha 和 lambda xff0c 记为
  • 数据结构 马踏棋盘 栈应用 C++

    include lt iostream gt 包含其它头文件 using namespace std const int StackInitSize 61 10 const int StackInc 61 10 typedef int SE
  • STM32智能小车------红外遥控

    文章目录 一 原理讲解1 实物图2 工作原理 xff1a 3 接线 xff1a 二 软件驱动代码1 驱动函数2 获取键值 总结最终效果 大家好哇 xff01 我是小光 xff0c 嵌入式爱好者 xff0c 一个想要成为系统架构师的普通大学生
  • UCOS学习(一)——前后台系统、RTOS系统

    大家好哇 xff01 我是小光 xff0c 嵌入式爱好者 xff0c 一个想要成为系统架构师的大二学生 最近开始学习UCOS操作系统 xff0c 后面会更新一些关于UCOS学习笔记 今天了解了UCOS操作系统 xff0c 总结一下知识点 感
  • UCOS学习(二)——UCOS-II、UCOS-III移植到STM32F103

    大家好哇 xff01 我是小光 xff0c 嵌入式爱好者 xff0c 一个想要成为系统架构师的大二学生 最近开始学习UCOS操作系统 xff0c 后面会更新一些关于UCOS学习笔记 今天学习了如何将UCOS II和UCOS III移植到ST
  • UCOS学习(三)——任务管理基础

    大家好哇 xff01 我是小光 xff0c 嵌入式爱好者 xff0c 一个想要成为系统架构师的大二学生 最近开始学习UCOS操作系统 xff0c 后面会更新一些关于UCOS学习笔记 今天学习了任务管理基础知识 感谢你的阅读 xff0c 不对
  • UCOS学习(七)——信号量详解

    信号量 信号量简介信号量保护共享资源举个栗子 xff1a 如果不使用信号量信号量解决公共资源问题创建信号量 xff1a 信号量实现任务同步总结 信号量简介 信号量像是一种上锁机制 xff0c 代码必须获得对应的钥匙才能继续执行 xff0c
  • Altium Designer(AD)的简易使用

    一 绘制原理图 原理图库 首先来说明原理图的概念 根据百度百科 xff0c 原理图 xff0c 顾名思义就是表示电路板上各器件之间连接原理的图表 也就是表示芯片上的引脚连接什么元件 xff0c 各个元件谁和谁相连 xff0c 电源电压的大小
  • STM32CubeIDE---HAL库PWM使用速记

    一 如何计算 理论分析 xff1a HAL库函数之呼吸灯 PWM波 简书 jianshu com 预分频系数 PSC 自动重装载值 ARR 捕获 比较寄存器值 CCR 频率计算 xff1a 定时器频率 PSC 43 1 ARR 43 1 占
  • mac常用命令

    mac清除电脑DNS缓存 sudo dscacheutil flushcache
  • IMU初介绍及里程计相关补充

    IMU原理 xff1a 以牛顿力学定律为基础 xff0c 通过测量载体在惯性参考系的加速度 xff0c 将它对时间进行积分 xff0c 且把它变换到导航坐标系中 xff0c 就能够得到在导航坐标系中的速度 偏航角和位置等信息 IMU xff
  • C语言变量的定义与声明,为什么全局变量不能赋值

    文章目录 一 对C语言程序的一些补充二 定义域声明2 1 什么是变量2 2 如何定义变量2 3 为什么要定义变量2 4 定义变量的本质2 5 变量声明的本质2 6 定义和声明的区别 三 全局变量无法赋值 一 对C语言程序的一些补充 对于一个
  • 野火PID上位机通信移植

    野火PID上位机通信移植 一 简介 在调试pid参数的时候 xff0c 需要用到上位机 xff0c 这里选用 野火多功能调试助手 使用调试助手 xff0c 需要下位机与上位机之间的通信协议 xff0c 下载野火关于电机的相关例程 xff0c
  • 实验报告数字图像的基本操作

    一 实验目的 了解Matlab的基本功能及操作方法练习图像读写和显示函数的使用方法掌握如何利用MATLAB来获取图像的大小 颜色 高度 宽度等等相关信息熟悉常用的图像文件格式与格式转换 xff1b 二 实验环境 PC计算机MatLab软件