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

news2025/1/13 13:24:49

文章目录

    • 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 ) = a n , − ∞ < n < + ∞ x(n)=a^{n},-\infty<n<+\infty x(n)=an,<n<+

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

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

K 0 e ( a + j b ) n = K 0 e a n ( cos ⁡ ( b n ) + j sin ⁡ ( b n ) ) 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 ) = A 0 sin ⁡ ( 2 π f n + φ ) 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】,回复 数字图像处理 可以获取。

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

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

相关文章

程序,进程,线程 并行,并发

程序&#xff1a; 程序的本质是初始的数据加一些指令&#xff0c;是数据跟指令的集合&#xff0c;是有序代码的集 合。程序的指令在代码里面相当于一个函数&#xff0c;调用一个函数相当于向程序发出一条指令&#xff0c;数据就是一些变量&#xff0c;变量就是用来保存数据的。…

ANTLR的IDE——ANTLRWorks2的安装及基本使用

1. ANTLRWorks2的简单介绍 ① ANTLR官网对ANTLRWorks2的介绍 ANTLRWorks 2.此IDE是ANTLR v3 / v4语法以及StringTemplate模板的复杂编辑器。 它可以运行ANTLR工具来生成识别器&#xff0c;并可以运行TestRig&#xff08;在命令行上运行&#xff09;来测试语法。 要将ANTLR生成…

GCC编译器 MinGW的下载安装使用教程

哎 总所周知 gcc可以用来编译C 和C。在linux广泛应用&#xff0c;那么window怎么使用gcc呢。就要用到gcc的window工具----MInGW&#xff0c;安装好之后&#xff0c;直接可以在windows的dos界面编译。下面讲解安装使用过程。1.官网下载MinGW - Minimalist GNU for Windows downl…

家庭消耗品跟踪管理软件HomeLists

什么是 HomeLists &#xff1f; HomeLists 是一款自托管耗材统计软件&#xff0c;能通过提醒等帮助您跟踪家庭消耗品。 安装 在群晖上以 Docker 方式安装。 在注册表中搜索 homelists &#xff0c;选择第一个 aceberg/homelists&#xff0c;版本选择 latest。 本文写作时&…

HNU工训中心:直流电路测量分析实验报告

工训中心的牛马实验 实验目的 1.熟悉直流电路的测量和分析方法。 2.熟悉直流电源、电压表、电流表的使用法及其特性。 实验仪器和器材 1.实验仪器 直流稳压电源型号:IT6302 台式多用表型号:UT805A 2.实验&#xff08;箱&#xff09;器材 电路实验箱 元器件&#xff1a;电阻…

Ubuntu/Linux 升级 CMake 版本

Ubuntu/Linux 升级 CMake 版本 背景 在 Ubuntu 18.04 系统上默认的 CMake 版本为 3.10.2&#xff0c;当需要进行一些比较新的项目的编译时&#xff0c;比如说 iceoryx 的交叉编译&#xff0c;会遇到 CMake 版本不支持问题。类似下面的打印&#xff1a; CMake Error at CMakeL…

各种产品图的画法

经常看到网上有人问&#xff0c;产品经理要画哪些图&#xff0c;怎么画流程图等关于画图的问题。确实&#xff0c;画图是产品经理必备的硬核技能。然而&#xff0c;画图又不仅仅是画几个图而已。做产品没有统一、标准的规范指导&#xff0c;容易让人为了画图而画图。甚至&#…

机器学习笔记之狄利克雷过程(一)基本介绍

机器学习笔记之狄利克雷过程——基本介绍引言回顾&#xff1a;高斯混合模型狄利克雷过程——引出引言 从本节开始&#xff0c;将介绍狄利克雷过程。 回顾&#xff1a;高斯混合模型 高斯混合模型(Gaussian Mixture Model,GMM\text{Gaussian Mixture Model,GMM}Gaussian Mixtu…

【吃透Js】深入学习浅拷贝和深拷贝

一、JavaScript数据类型原始类型对象类型二、原始类型和对象类型的区别1.原始类型2.引用类型3.复制4.比较5.值传递三、浅拷贝概念实现方法四、深拷贝概念五、浅拷贝、深拷贝和赋值的区别浅拷贝和赋值六、小结想要真正搞明白深浅拷贝&#xff0c;你必须要熟练掌握赋值、对象在内…

港科夜闻|香港科大与中国医药创新促进会共建创新研究平台,推动大湾区医药创新发展...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、香港科大与中国医药创新促进会共建创新研究平台&#xff0c;推动大湾区医药创新发展。香港科技大学与中国医药创新促进会2月27日签署合作备忘录&#xff0c;成立「大湾区生物医药国际创新中心」及「大湾区生物医药发展政策研…

【论文导读】Towards Unsupervised Domain Generalization

之前看到过的一篇论文&#xff0c;挺有意思的&#xff0c;虽然查到了有讲解的博客&#xff0c;但是不太符合我的思考逻辑 于是自己梳理一下。 CVPR 2022丨清华大学提出&#xff1a;无监督域泛化 (UDG)_我爱计算机视觉的博客-CSDN博客 方法引入&#xff1a; 针对现有的处理域…

苹果笔可以不买原装吗?开学必备性价比电容笔

在当今的时代&#xff0c;电容笔日益普及&#xff0c;而且相关的功能也逐渐完善。因此&#xff0c;在使用过程中&#xff0c;怎样挑选一款性价比比较高的电容笔成为大家关心的焦点。随着电容笔的普及&#xff0c;更好更便宜的电容笔成为了一种趋势。那么&#xff0c;哪个品牌的…

[ 云计算入门与实战 - AWS ] 在控制台创建 Amazon EC2 实例

本章节主要介绍在 AWS 控制台窗口 如何创建一台 Amazon EC2 实例。 文章目录写在前面开始创建前进入控制台并启动 EC2 实例服务创建 EC2 实例详细步骤步骤 1&#xff1a;为所要创建的 EC2 实例个体命名步骤 2&#xff1a;选择 AMI步骤 3&#xff1a;选择实例类型步骤 4&#xf…

【线程池的使用规范、线程池的7个参数、4种拒绝策略、线程池的5种状态、线程池的执行流程】

一.线程池的使用规范 阿里巴巴开发手册规定&#xff0c;线程池不允许使用 Executors 去创建&#xff0c;而是通过 ThreadPoolExecutor 的方式&#xff0c;这样的处理方式让开发人员更加明确线程池的运行规则&#xff0c;规避资源耗尽的风险。 说明&#xff1a;Executors 返回的…

EndNote20 自动生成毕业论文参考文献

软件版本&#xff1a; EndNote 20 字体&#xff1a;Chinese Standard GB/T 7714 去谷歌学术下载Endnote格式的enw文件 在EndNote中 File>New… 新建Libaray Tools>Output Styles>Open Style Manager… 勾选Chinese std GBT7714(numeric) Tools>Output Styles>…

CSS背景属性之颜色渐变

颜色渐变 颜色渐变其实在网页设计中并不是特别常见&#xff0c; 但也不可避免的会出现导航栏是渐变色这种情况或者别的不是单一颜色的情况&#xff0c; 例如&#xff1a;这样的设计解决方案并不是只可以使用颜色渐变&#xff0c;我们可以使用两个div拼接&#xff0c;将文字放…

如果坚定了想要进入网络安全领域的决心,应该怎样学习呢?

1、建立科学的学习路径 如果你原本从事程序开发&#xff0c;可以选择Web安全/渗透测试方向入门&#xff0c;一是市场需求量高&#xff0c;二则是发展相对成熟&#xff0c;入门比较容易。一定要根据自身的知识结构建立科学的学习路径&#xff0c;只有学到一定程度、或者有了一定…

Function Mesh:流处理任务的 Serverless 化实践

文章摘要本文整理自 ApacheCon Asia 上&#xff0c;StreamNative 工程师付睿的分享《Use Apache Pulsar Functions in a Cloud-Native way》。本文将介绍在云原生环境中使用 Pulsar Functions 的实践&#xff0c;以及基于 Pulsar Functions 和 Kubernetes 的项目 Function Mesh…

Redis实现高可用

怎么实现Redis的高可用&#xff1f;我们在项目中使用Redis&#xff0c;肯定不会是单点部署Redis服务的。因为&#xff0c;单点部署一旦宕机&#xff0c;就不可用了。为了实现高可用&#xff0c;通常的做法是&#xff0c;将数据库复制多个副本以部署在不同的服务器上&#xff0c…

tensorflow2.4--1.框架介绍

前言 虽然1.x版本tensorflow有很多项目都基于此构建&#xff0c;然而随着2.x版本的推出&#xff0c;很多架构已经发生了改变&#xff0c;代码发生了改变&#xff0c;同时很多模组已经废弃不用或者更新,tensorflow1.x已经不能再兼容最新的项目,与时俱进是必要的&#xff0c;因此…