文章和代码以及样例图片等相关资源,已经归档至【Github仓库:digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。

文章目录

  • MATLAB的图像显示方法
      • 目的
      • 内容
        • (1)单位冲击响应序列
        • (2)单位阶跃序列
        • (3)正弦序列
        • (4)指数序列
        • (5)复指数序列
    • MATLAB的图像显示方法
      • 1.图像的读
      • 2.图像显示
        • (1)图像显示
        • (2)同屏显示多个图像
      • 3.数字图像处理中常用到的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} K0​e(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)) K0​e(a+jb)n=K0​ean(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)=A0​sin(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()函数

MATLAB的图像显示方法相关推荐

  1. 数学建模matlab imread,《matlab数学建模方法与实践》第三章 数据的处理

    3.1数据的获取 3.1.1从Excel中读取数据 a= xlsread('路径',n(sheetn),'A(n-1):Bn(读入的数据范围)') 3.1.2从TXT中读取数据 3.1.2.1.1 同 ...

  2. 光流 | 基于Matlab实现Lucas-Kanade方法:方法2(附源代码)

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 基于Matlab实现Lucas-Kanad ...

  3. 光流 | 基于Matlab实现Lucas-Kanade方法:方法1(附源代码)

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 基于Matlab实现Lucas-Kanad ...

  4. gps数据处理matlab,基于Matlab的数据处理方法在GPS高程拟合中的应用

    基于Matlab的数据处理方法在GPS高程拟合中的应用 在分析GPS高程异常拟合模型实质的基础上,结合工程实例,顾及地球重力场的空间连续性特点,运用Matlab中的拟合插值函数Griddata等进行高 ...

  5. C/C++ VS中调用matlab函数的方法

    C/C++ VS中调用matlab函数的方法 [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/73743654 Matla ...

  6. matlab用for编写乘法表,实验二 Matlab程序设计基本方法1

    实验二Matlab程序设计基本方法 覃照乘自092 电气工程学院 一.实验目的: 1.熟悉MATLAB 程序编辑与设计环境 2.掌握各种编程语句语法规则及程序设计方法 3.函数文件的编写和设计 4.了 ...

  7. bms用matlab吗,一种BMS的MATLAB建模集成方法与流程

    技术特征: 1.一种BMS的MATLAB建模集成方法,其特征在于,包括以下步骤: S01:将BMS分为输入模块.输出模块及若干个中间模块,并定义各模块的名称: S02:定义各模块的输入端口和输出端口的 ...

  8. 基于matlab的prony方法实现,基于MATLAB的Prony方法实现

    基于MATLAB的Prony方法实现 本文介绍了Prony方法在MATLAB中的实现和应用.首先叙述了Prony方 (本文共2页) 阅读全文>> 瞬时频率是信号重要的瞬时特征参数,由于其在 ...

  9. [转]MFC子线程更改图像数据后更新主窗口图像显示方法

    程序思路是由外部的输入输出控制卡发出采集图像信号,之后相机采集图像得到图像数据指针,接收图像数据指针创建成图像最后显示到MFC对话框应用程序的Picture Control控件上,同时,为了标定相机位 ...

最新文章

  1. 最新清华大学arXiv上传的深度学习摄像头运动估计论文
  2. java 小数精确_Java中小数精确计算
  3. [androd] android的在线源码网站,各个版本都有(目前已到俺android 4.2,但不包含kernel部分的代码)
  4. java 多行 n_Java实现向Word添加多行图片水印
  5. python函数调用时的实参和形参之间传递_python 函数(实参与形参、传递参数)...
  6. 综述:编程语言的发展趋势及未来方向
  7. 在线学习Java编程的最佳方法
  8. 最简容器化动手小实践——再战flappybird
  9. 岳阳鸿蒙数学培优阶梯训练,鸿蒙应用-呼吸训练app部分练习展示(开始)
  10. php外贸后台,…外贸购物商城网站开发… PHP开发 提供源代码 外贸网站案例 直接购买案例 雇佣兵网...
  11. 【原创】Oracle RAC原理和安装
  12. 敏捷无敌(13)之兵不厌诈
  13. Delphi单元文件引用名称问题
  14. 百度搜索(URL)中汉字转为什么编码问题
  15. 【日常点滴015】python中学完pandas后的代码练习 附源数据文件
  16. 冯仑《企业领导最容易犯的十大错误》 .
  17. macOS iOS - 系统版本、EFI 和 SMC 固件版本
  18. 香农采样定理和奈奎斯特采样定理
  19. 微信小程序详解——小程序的生命周期和页面的生命周期
  20. 深入理解Android之Gradle

热门文章

  1. matlab 图像 whos函数,matlab图像处理常用函数
  2. 解决linux对D盘(非系统盘)只有只读权限,无法创建文件夹 (linux 重新挂载盘符)
  3. 购物表单mysql还是mongodb_日志数据是选择mysql 还是 mongodb 还是 postgredb
  4. Lock-step 锁步核有哪些
  5. centos7.4和ubuntu16.0.4常用命令
  6. ROS2 基础概念 参数
  7. 从原先部分得到新字符串
  8. 微信小程序换量心得—微量小程序联盟
  9. 并发编程之深入理解十三:CompletionService CompletableFuture
  10. 20180823-cve