当前位置: 首页 > news >正文

山东大学数字图像处理实验:MATLAB的图像显示方法

文章目录

    • MATLAB 学习
      • 实验目的
      • 实验原理及方法
      • 实验内容
    • MATLAB的图像显示方法
      • 实验目的
      • 实验内容

MATLAB 学习

实验目的

  1. 了解 MATLAB 的基本功能及操作方法。
  2. 掌握典型离散信号的 Matlab 产生和显示。

实验原理及方法

在 MATLAB 中, 序列是用矩阵向量表示, 但它没有包含采样信息, 即序列位置信息, 为 此, 要表示一个序列需要建立两个向量; 一是时间序列 n , 或称位置序列, 另一个为取值序 列 x ,表示如下: n=[⋯,−3,−2,−1,0,1,2,3,⋯]n=[\cdots,-3,-2,-1,0,1,2,3, \cdots]n=[,3,2,1,0,1,2,3,]x=[⋯,6,3,5,2,1,7,9,⋯]\mathrm{x}=[\cdots, 6,3,5,2,1,7,9, \cdots]x=[,6,3,5,2,1,7,9,]

一般程序都从 0 位置起始, 则 x=[x(0),x(1),x(2),⋯]x=[x(0), x(1), x(2), \cdots]x=[x(0),x(1),x(2),] 对于多维信号需要建立矩阵来表示, 矩阵的每个列向量代表一维信号。

数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号 等, 在 MATLAB 语言中分别由 exp, sin, cos, square, sawtooth 等函数来实现。

实验内容

1.用 MATLAB 编制程序, 分别产生长度为 N\mathrm{N}N (由输入确定) 的序列:

(1)单位冲击响应序列: 可用 MATLAB 中 zeros 函数来实现;

t=-20:1:20;
X=zeros(size (t)) ;
X(21)=1;
plot(t,x);

(2)单位阶跃序列: U(n) 可用 MATLAB 中 ones 函数来实现;

t=-20:1:20;
X=zeros (size (t)) ;
x (21:41)=ones (1,21);
plot(t,x);

(3)正弦序列: x(n)=sin⁡(ωn)\quad x(n)=\sin (\omega n)x(n)=sin(ωn)

N0=20;
w=0.5;
n=-N0:0.5:N0;
y=sin (w*n);
plot (n, y);

(4)指数序列: x(n)=an,−∞<n<+∞x(n)=a^{n},-\infty<n<+\inftyx(n)=an,<n<+

N0=20 ;
a=1.1;
n=-N0:2:N0 ;
X=a.^n;
plot (n,x);

(5)复指数序列: 用 exp 函数实现 K0e(a+jb)nK_{0} e^{(a+j b) n}K0e(a+jb)n , 并给出该复指数序列的实部、虚部、幅 值和相位的图形。(其中 a=-0.2 ; b=0.5 ; K0=4 ; N=40.)

K0e(a+jb)n=K0ean(cos⁡(bn)+jsin⁡(bn))K_{0} e^{(a+j b) n}=K_{0} e^{a n}(\cos (b n)+j \sin (b n))K0e(a+jb)n=K0ean(cos(bn)+jsin(bn))

a=-0.2;
b=0.5;
K0=4;
N=40;
n=-N:1:N;
t=K0*exp.^(a+j*b)*n ;

流程图:

在计算机上实现正弦序列 x(n)=A0sin⁡(2πfn+φ)x(n)=A_{0} \sin (2 \pi f n+\varphi)x(n)=A0sin(2πfn+φ)

A0=-0.2;
f=0.05;
pi=3.14;
K0=2/3*pi;
N=40;
n=-N:1:N;
x=A0*sin(2*pi*f*n+K0);
plot(n,x)

MATLAB的图像显示方法

实验目的

1.练习图像读写和显示函数的使用方法

2.掌握MATLAB支持的五类图像显示方法

3.数字图像处理中常用到的MATLAB函数(选做)

实验内容

1.图像的读

RGB=imread('D:\pic\DIP3E_CHO1\Fig0101(1921 digital image).tif);

2.图像显示

(1)图像显示

f=imread('D:\pic\DIP3E_CHO1\Fig0101(1921 digital image).tif');
whos f
imshow(f)
[m,n]=size(f)%显示图像的大小

(2)同屏显示多个图像

可用subplot(m,n)将图形窗分为m*n个子窗口,然后取第一、第二…子窗口显示不同的图像,实现同屏显示多个图像。例如:

figure(1);
%取2×2个子屏中的第一个子屏
subplot (2,2,1);
%显示第一个图像
imshow(Il);
%取2×2个子屏中的第四个子屏
subplot(2,2,4);
%显示第四个图像
imshow(I4);

3.数字图像处理中常用到的MATLAB函数

size ()函数

Zeros ()函数

Fft2(), ifft2()函数

Imhist()函数

Histeq()函数

Imrotate()函数

Imnoise()函数

Edge()函数

Title()函数

Xlable(), Ylable()函数

相关资源以及样例图片已经归档至公众号【AIShareLab】,回复 数字图像处理 可以获取。

相关文章:

山东大学数字图像处理实验:MATLAB的图像显示方法

文章目录MATLAB 学习实验目的实验原理及方法实验内容MATLAB的图像显示方法实验目的实验内容MATLAB 学习 实验目的 了解 MATLAB 的基本功能及操作方法。掌握典型离散信号的 Matlab 产生和显示。 实验原理及方法 在 MATLAB 中, 序列是用矩阵向量表示, 但它没有包含采样信息, …...

Java缓存面试题——Redis解决方案

文章目录1、什么是缓存击穿&#xff1f;该如何解决2、什么是缓存穿透&#xff1f;该如何解决3、什么是缓存雪崩&#xff1f;该如何解决4、什么是BigKey&#xff1f;该如何解决bigkey的危害发现bigkey解决bigkey5、redis过期策略都有哪些&#xff1f;6、讲一讲Redis缓存的数据一…...

Flink:The generic type parameters of ‘Collector‘ are missing 类型擦除

类型擦除问题处理报错日志描述问题描述报错解决其他方法方法一&#xff1a;TypeInformation方法二&#xff1a;TypeHint报错日志描述 报错日志&#xff1a; The generic type parameters of Collector are missing. In many cases lambda methods dont provide enough informa…...

MySQL查询操作

系列文章目录前言一、简单查询SELECT子句SELECT后面之间跟列名DISTINCT,ALL列表达式列更名WHERE子句WHERE子句中可以使用的查询条件比较运算BETWEEN...AND...集合查询&#xff1a;IN模糊查询LIKE空值比较&#xff1a;IS NULL多重条件查询SELECT 的基本结构ORDER BY子句排序聚集…...

Redis-day01-note

Redis-day01-note 文章目录**Redis-day01-note****安装****配置文件详解****数据类型****字符串类型(string)**列表数据类型&#xff08;List&#xff09;****与python交互**Redis介绍特点及优点 1、开源的&#xff0c;使用C编写&#xff0c;基于内存且支持持久化 2、高性能的…...

嵌入式C基础知识(19)

时序在前面我们说到当处理器要向外设芯片写数据时&#xff0c;需要先将所需访问的外设的地址放在地址总线上&#xff0c;然后&#xff0c;由译码器将地址总线上的数据转换成片选信号&#xff0c;片选信号则使能目标外设芯片&#xff0c;接下来处理器写数据到数据总线上&#xf…...

java 2(程序流程控制)【含例题详解】

java ——程序流程控制 ✍作者&#xff1a;电子科大不知名程序员 &#x1f332;专栏&#xff1a;java学习指导 各位读者如果觉得博主写的不错&#xff0c;请诸位多多支持&#xff1b;如果有错误的地方&#xff0c;欢迎在评论区指出 目录java ——程序流程控制分支结构if-elsesw…...

基于Conda完成创建多版本python环境

文章目录基于Conda完成创建多版本python环境基于Conda完成创建多版本python环境 通过cmd打开conda环境 d:\ProgramData\Anaconda3\Scripts\activate创建python3.7的环境 conda create -n py3.7 python3.7产生错误 Collecting package metadata (repodata.json): failed Unav…...

35岁的测试被裁,公司地位还不如00后...

国内的互联网行业发展较快&#xff0c;所以造成了技术研发类员工工作强度比较大&#xff0c;同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高&#xff0c;超过35岁的基层研发类员工&#xff0c;往往因为家庭原因、身体原因&#xff0c;比较难以跟得上工作…...

vue H5跳转小程序报错:config:fail,Error: 系统错误,错误码:63002,invalid signature

微信开发者工具下载地址与更新日志 错误码&#xff1a;63002,invalid signature 无效的签名 附录5 微信网页开发 /JS-SDK说明文档 微信 JS 接口签名校验工具 全局返回码说明 ​ 排查步骤 确认签名算法正确&#xff0c;可用 http://mp.weixin.qq.com/debug/cgi-bin/sand…...

来面试阿里测开工程师,HR问我未来3-5年规划,我给HR画个大饼。

在面试的过程中是不是经常被面试官问未来几年的职业规划?你会答吗&#xff1f;是不是经常脑袋里一片空白&#xff0c;未来规划&#xff1f;我只是想赚更多的钱啊&#xff0c;哈哈哈&#xff0c;今天我来教大家&#xff0c;如何给面试官画一个大饼&#xff0c;让他吃的不亦乐乎…...

【2373. 矩阵中的局部最大值】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个大小为 n x n 的整数矩阵 grid 。 生成一个大小为 (n - 2) x (n - 2) 的整数矩阵 maxLocal &#xff0c;并满足&#xff1a; maxLocal[i][j] 等于 grid 中以 i 1 行和 j 1 列为中心的 3 …...

Read book Netty in action(Chapter VII)--ChannelHandler和ChannelPipeline

序言 我们曾经学过了ByteBuf – netty的数据容器&#xff0c;还有ChannelHandler和ChannelPipeline&#xff0c;这一把将他们组合起来&#xff0c;这些组件的交互正是Netty的灵魂所在&#xff01; ChannelHanlder家族 在详细地学习ChannelHanlder之前&#xff0c;我们将在Ne…...

react的严格模式 和 解决react useEffect执行两次

useEffect执行两次 这个问题&#xff0c;主要是刚接触react的时候发的问题&#xff0c;当时也没总结。现在回过头来再总结一次&#xff01;&#xff01;&#xff01; 文章目录useEffect执行两次前言一、为什么useEffect执行两次1.React的严格模式&#xff08;模版创建项目&…...

C++中的STL

一、概念 STL&#xff0c;英文全称 standard template library&#xff0c;中文可译为标准模板库或者泛型库&#xff0c;其包含有大量的模板类和模板函数&#xff0c;是 C 提供的一个基础模板的集合&#xff0c;用于完成诸如输入/输出、数学计算等功能。 STL 最初由惠普实验室…...

【沐风老师】3dmax一键窗户生成器插件使用方法详解

3dmax一键窗户生成器插件教程 3dMax一键窗户生成器是一个在3dMax中自动创建3D窗户模型的脚本。它有28种风格的窗户样式&#xff0c;可以在Archviz项目中灵活应用&#xff0c;同时为3D艺术家节省大量时间。 【适用版本】 适用3dMax 2018.2及更高版本 【安装方法】 1.解压缩包&…...

【图像处理】数字图像处理基础(分辨率,像素,显示...)

Table of Contents1.数字图像处理基础1.1 图像表示1.1.1 图像成像模型1.1.2 数字图像的表示a.图像采样b.图像灰度的量化c.算比特数1.2 分辨率1.2.1 空间分辨率1.2.2 灰度分辨率1.3 像素间的关系1.3.1 像素邻域a.4邻域b.4对角邻域c.8邻域1.3.2 像素邻接1.3.3 像素连通1.3.4 像素…...

UE实现相机飞行效果CesiumForUnreal之DynamicPawn飞行原理浅析

文章目录 1.实现目标2.实现过程2.1 FlyTo实现原理与代码2.2 DynamicPawn飞行原理3.参考资料1.实现目标 基于CesiumForUnreal的Dynamic Pawn实现飞行效果GIF动图: 2.实现过程 实现原理较为简单,基于CesiumForUnreal插件中DynamicPawn中的Camera实现相关功能。其中FlyTo直接通…...

AIGC被ChatGPT带火!底层基础算力有望爆发式增长

ChatGPT火爆全球的背后&#xff0c;可以窥见伴随人工智能技术的发展&#xff0c;数字内容的生产方式向着更加高效迈进。ChatGPT属于AIGC的具体应用&#xff0c;而AIGC是技术驱动的数字内容新生产方式。AIGC类产品未来有望成为5G时代新的流量入口&#xff0c;率先受益的有望是AI…...

【链表OJ题(一)】移除链表元素

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录链表OJ题(一)1. 移除…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...