MATLAB的图像显示方法
目的
了解 MATLAB 的基本功能及操作方法,掌握如何使用 MATLAB 产生和显示典型离散信号。通过学习 MATLAB 中图像处理的基本命令与方法,帮助用户有效进行数字信号处理和图像处理任务。
内容
在 MATLAB 中,序列通常用矩阵向量表示,但是它不包含采样信息(即序列的位置信息)。因此,表示一个序列时需要建立两个向量:一个是时间序列(或称位置序列)n,另一个是取值序列 x。例如,时间序列可以表示为:
n = [..., -3, -2, -1, 0, 1, 2, 3, ...]
对应的取值序列 x 可以表示为:
x = [..., 6, 3, 5, 2, 1, 7, 9, ...]
一般情况下,程序从 n=0 的位置开始。对于多维信号,需要使用矩阵表示,其中矩阵的每个列向量表示一个一维信号。
在数字信号处理中,常见的信号类型包括:指数信号、正弦信号、余弦信号、方波信号和锯齿波信号等。在 MATLAB 中,可以分别使用 exp、sin、cos、square、sawtooth 等函数来生成这些信号。
用 MATLAB 编写程序,产生长度为 N(由输入确定)的序列:
-
单位冲击响应序列
使用 MATLAB 中的
zeros函数实现单位冲击响应序列:t = -20:1:20; X = zeros(size(t)); X(21) = 1; % 设置冲击响应在n=0处为1 plot(t, X); -
单位阶跃序列
使用
ones函数实现单位阶跃序列:t = -20:1:20; X = zeros(size(t)); X(21:41) = ones(1, 21); % 设置阶跃响应从n=0开始为1 plot(t, X); -
正弦序列
正弦序列通过
sin函数生成:N0 = 20; w = 0.5; % 正弦波的频率 n = -N0:0.5:N0; y = sin(w * n); plot(n, y); -
指数序列
指数序列的表达式为
X(n) = a^n,可以通过以下代码生成:N0 = 20; a = 1.1; % 指数衰减因子 n = -N0:2:N0; X = a .^ n; plot(n, X); -
复指数序列
使用
exp函数生成复指数序列,并绘制其实部、虚部、幅值和相位图:a = -0.2; b = 0.5; K0 = 4; N = 40; n = -N:1:N; t = K0 * exp(a + 1i * b) .^ n; % 绘制实部、虚部、幅值和相位 figure; subplot(2, 2, 1); plot(n, real(t)); title('Real Part'); subplot(2, 2, 2); plot(n, imag(t)); title('Imaginary Part'); subplot(2, 2, 3); plot(n, abs(t)); title('Magnitude'); subplot(2, 2, 4); plot(n, angle(t)); title('Phase');
练习
-
图像读写和显示函数的使用方法
使用 MATLAB 进行图像读写和显示:
RGB = imread('D:\pic\DIP3E_CHO1\Fig0101(1921 digital image).tif'); % 读取图像 -
图像显示
-
单个图像显示:
f = imread('D:\pic\DIP3E_CHO1\Fig0101(1921 digital image).tif'); whos f; % 查看图像变量信息 imshow(f); % 显示图像 [m, n] = size(f); % 输出图像大小 -
同屏显示多个图像:使用
subplot命令将显示区域分成多个子区域,在不同区域中显示不同图像:figure(1); subplot(2, 2, 1); % 取2×2个子屏中的第一个子屏 imshow(I1); % 显示第一个图像 subplot(2, 2, 4); % 取2×2个子屏中的第四个子屏 imshow(I4); % 显示第四个图像
-
-
数字图像处理中常用的 MATLAB 函数
size():获取数组的大小。zeros():生成一个全为零的数组。fft2()、ifft2():二维快速傅里叶变换和反变换。imhist():计算图像的直方图。histeq():图像直方图均衡化。imrotate():图像旋转。imnoise():添加噪声到图像中。edge():边缘检测。title():设置图像标题。xlabel()、ylabel():设置图像坐标轴标签。
参考文献:
- Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.
- 阮秋琦. 数字图像处理(MATLAB版) [M]. 北京:电子工业出版社, 2014.
- 冈萨雷斯. 数字图像处理(第三版) [M]. 北京:电子工业出版社, 2011.

被折叠的 条评论
为什么被折叠?



