乐趣区

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

MATLAB 学习

试验目标

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

试验原理及办法

在 MATLAB 中, 序列是用矩阵向量示意, 但它没有蕴含采样信息, 即序列地位信息, 为 此, 要示意一个序列须要建设两个向量; 一是工夫序列 n , 或称地位序列, 另一个为取值序 列 x,示意如下: $n=[\cdots,-3,-2,-1,0,1,2,3, \cdots]$,$\mathrm{x}=[\cdots, 6,3,5,2,1,7,9, \cdots]$

个别程序都从 0 地位起始, 则 $x=[x(0), x(1), x(2), \cdots]$ 对于多维信号须要建设矩阵来示意, 矩阵的每个列向量代表一维信号。

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

试验内容

1. 用 MATLAB 编制程序, 别离产生长度为 $\mathrm{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) 正弦序列: $\quad x(n)=\sin (\omega n)$;

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

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

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

(5) 复指数序列: 用 exp 函数实现 $K_{0} e^{(a+j b) 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))$

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 \pi f n+\varphi)$

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】,回复 数字图像处理 能够获取。

退出移动版