MATLAB的图像显示方法

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

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()函数

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

timerring

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值