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

简介: 山东大学数字图像处理实验: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】,回复 数字图像处理 可以获取。
目录
相关文章
|
4天前
|
机器学习/深度学习 算法 数据可视化
通过深度学习和人脸图像进行年龄段估计matlab仿真
通过深度学习和人脸图像进行年龄段估计matlab仿真
|
4天前
|
存储 缓存 算法
基于FPGA的图像双边滤波实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像双边滤波实现,包括tb测试文件和MATLAB辅助验证
|
4天前
|
机器学习/深度学习 算法 网络架构
基于yolov2深度学习网络的人脸检测matlab仿真,图像来自UMass数据集
**YOLOv2算法在MATLAB2022a中实现人脸检测:** 展示6个检测结果图,利用Darknet-19进行特征提取,网络每个网格预测BBox,包含中心偏移、尺寸、置信度和类别概率。多任务损失函数结合定位、置信度和分类误差。程序加载预训练模型,遍历图像,对检测到的人脸以0.15阈值画出边界框并显示。
|
4天前
|
机器学习/深度学习 算法 数据可视化
python/matlab图像去雾/去雨综述
python/matlab图像去雾/去雨综述
49 0
|
4天前
|
算法
m基于OFDM+QPSK和LDPC编译码以及MMSE信道估计的无线图像传输matlab仿真,输出误码率,并用图片进行测试
MATLAB2022a仿真实现了无线图像传输的算法,包括OFDM、QPSK调制、LDPC编码和MMSE信道估计。OFDM抗频率选择性衰落,QPSK用相位表示二进制,LDPC码用于前向纠错,MMSE估计信道响应。算法流程涉及编码、调制、信道估计、均衡、解码和图像重建。MATLAB代码展示了从串行数据到OFDM信号的生成,经过信道模型、噪声添加,再到接收端的信道估计和解码过程,最终计算误码率。
25 1
|
4天前
|
存储 算法 数据可视化
基于harris角点和RANSAC算法的图像拼接matlab仿真
本文介绍了使用MATLAB2022a进行图像拼接的流程,涉及Harris角点检测和RANSAC算法。Harris角点检测寻找图像中局部曲率变化显著的点,RANSAC则用于排除噪声和异常点,找到最佳匹配。核心程序包括自定义的Harris角点计算函数,RANSAC参数设置,以及匹配点的可视化和仿射变换矩阵计算,最终生成全景图像。
|
4天前
|
算法 异构计算
基于直方图的图像曝光量分析FPGA实现,包含tb测试文件和MATLAB辅助验证
该内容包括了算法的运行效果展示、软件版本信息、理论概述和核心程序代码。在正常图像中,`checkb`位于`f192b`和`f250b`之间,而多度曝光图像中`checkb`超出此范围,判断为曝光过度。使用的软件为Vivado 2019.2和MATLAB 2022a。理论依据未详细给出,但提及主要方法。提供的Verilog代码段用于处理图像数据,包括读取文件、时钟控制及图像histogram计算等,其中模块`im_hist`似乎是关键部分。
|
4天前
|
算法 数据安全/隐私保护 计算机视觉
基于DCT变换的彩色图像双重水印嵌入和提取算法matlab仿真
**算法摘要:** - 图形展示:展示灰度与彩色图像水印应用,主辅水印嵌入。 - 软件环境:MATLAB 2022a。 - 算法原理:双重水印,转换至YCbCr/YIQ,仅影响亮度;图像分割为M×N块,DCT变换后嵌入水印。 - 流程概览:两步水印嵌入,每步对应不同图示表示。 - 核心代码未提供。
|
4天前
|
算法 TensorFlow 算法框架/工具
基于直方图的图像阈值计算和分割算法FPGA实现,包含tb测试文件和MATLAB辅助验证
这是一个关于图像处理的算法实现摘要,主要包括四部分:展示了四张算法运行的效果图;提到了使用的软件版本为VIVADO 2019.2和matlab 2022a;介绍了算法理论,即基于直方图的图像阈值分割,通过灰度直方图分布选取阈值来区分图像区域;并提供了部分Verilog代码,该代码读取图像数据,进行处理,并输出结果到&quot;result.txt&quot;以供MATLAB显示图像分割效果。
|
4天前
|
算法 数据安全/隐私保护 数据格式
基于混沌序列的图像加解密算法matlab仿真,并输出加解密之后的直方图
该内容是一个关于混沌系统理论及其在图像加解密算法中的应用摘要。介绍了使用matlab2022a运行的算法,重点阐述了混沌系统的特性,如确定性、非线性、初值敏感性等,并以Logistic映射为例展示混沌序列生成。图像加解密流程包括预处理、混沌序列生成、数据混淆和扩散,以及密钥管理。提供了部分核心程序,涉及混沌序列用于图像像素的混淆和扩散过程,通过位操作实现加密。

热门文章

最新文章