数字图像处理:实验一 MATLAB 图像处理基础

实验一 MATLAB 图像处理基础

MATLAB 具有强大的图像处理工具箱,有助于人们更好的理解各种图像处理算法,通 过调用工具箱中的函数,可以减少编程的复杂性,简化编程。本次实验主要掌握 MATLAB中的一些基本图像操作函数,包括图像的输入、显示、查看图像属性、改变大小、获取图像的统计信息、保存、多波段图像读写等功能,并进行简单的图像处理编程操作。

一、实验目的

1.进一步巩固对Matlab开发环境的认识;
2.理解图像处理相关函数,掌握其用法;
3.理解掌握文件操作函数;
4.掌握matlab的帮助命令,学会使用matlab的帮助功能;
5.掌握matlab程序设计基本方法,通过编程实现简单的图像处理操作。

二、实验基础

1.图像处理相关函数
Matlab提供了多种图像处理函数,表1列出一些函数及其功能。

imread
读取图像
imshow
图像显示
imwrite
保存图像
colorbar
显示颜色条
imfinfo
获取图像信息
subimage
显示图像
imresize
改变图像尺寸
imcrop
剪切图像
imrotate
图像缩放
imhist
显示图像直方图
mean
计算图像均值
warp
纹理映射
std2
计算图像标准差
multibandread
读多波段二进制图像
corr2
计算相关系数
multibandwrite
写多波段二进制图像

2.文件操作函数
fopen
打开文件
fread
读二进制文件
fclose
关闭文件
fwrite
写二进制文件
fscanf
读文本文件
fprintf
写文本文件
feof
测试指针是否在文件结束位置
fseek
设定文件指针位置
frewind
重设指针至文件起始位置
ftell
获取文件指针位置

3.图像灰度直方图
图像灰度直方图是灰度级的函数,描述图像中每种灰度级像素个数或频率。横坐标是灰度级,纵坐标是每一灰度级具有的像元数目或灰度级出现的频率。
灰度级频率计算公式:
v_i=n_i/n
式中ni为灰度级i的出现次数,n为像元总数。
4.熵
熵是图像信息量的表示,反映了图像信息丰富程度,在图像编码和图像质量评价中有重要意义。
H=-∑_(i=0)^(L-1)▒p_i 〖log〗_2 p_i
式中,pi为灰度级i出现的概率。

三、实验内容与步骤

1.熟悉 Matlab 工作环境
(1)打开计算机,启动MATLAB程序, 进入MATLAB的工作界面;
在这里插入图片描述

(2)熟悉MATLAB的菜单及各个工具栏的功能;
菜单栏
在这里插入图片描述

当前文件夹
在这里插入图片描述

命令行窗口
在这里插入图片描述

工作区
在这里插入图片描述

(3)在命令窗口创建矩阵,并对矩阵中的元素进行操作;

a=zeros(5,5)
a =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

a(2:4,2:4)=1
a =
0 0 0 0 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 0 0 0 0
(4)创建矩阵并对进行矩阵运算;

a=[1 2 3 4 5 6];
b=[6 5 4 3 2 1];
a+b
ans =
7 7 7 7 7 7

a.*b
ans =
6 10 12 12 10 6

a-b
ans =
-5 -3 -1 1 3 5

a./b
ans =
0.1667 0.4000 0.7500 1.3333 2.5000 6.0000

a*b’
ans =
56

a’*b
ans =
6 5 4 3 2 1
12 10 8 6 4 2
18 15 12 9 6 3
24 20 16 12 8 4
30 25 20 15 10 5
36 30 24 18 12 6
(5)绘制以下二维函数的图像,并改变曲线的颜色和线型,分别采用蓝色实线、红色虚线、黑色圆点绘制。
y=2e^(-5x) sin⁡(2πx) 0≤x≤2π

在这里插入图片描述在这里插入图片描述

2.熟练掌握Matlab的帮助命令,学会利用Matlab的帮助信息;并利用帮助命令查看图像处理函数。
help命令:查看函数的帮助

help subplot
subplot Create axes in tiled positions.
H = subplot(m,n,p), or subplot(mnp), breaks the Figure window
into an m-by-n matrix of small axes, selects the p-th axes for
the current plot, and returns the axes handle. The axes are
counted along the top row of the Figure window, then the second
row, etc. For example,

    subplot(2,1,1), PLOT(income)
    subplot(2,1,2), PLOT(outgo)

type命令:查看原代码

type fft2
function f = fft2(x, mrows, ncols)
%FFT2 Two-dimensional discrete Fourier Transform.
% FFT2(X) returns the two-dimensional Fourier transform of matrix X.
% If X is a vector, the result will have the same orientation.
% FFT2(X,MROWS,NCOLS) pads matrix X with zeros to size MROWS-by-NCOLS
% before transforming.
% Class support for input X:
% float: double, single
% See also FFT, FFTN, FFTSHIFT, FFTW, IFFT, IFFT2, IFFTN.
% Copyright 1984-2010 The MathWorks, Inc.

if ismatrix(x)
    if nargin==1
        f = fftn(x);
    else
        f = fftn(x,[mrows ncols]);
    end
else
    if nargin==1
        f = fft(fft(x,[],2),[],1);
    else
        f = fft(fft(x,ncols,2),mrows,1);
    end
end   

lookfor命令:

lookfor plot(x,y,‘k.’)
未找到 plot(x,y,‘k.’)。

3.熟悉Matlab中的文件操作函数
(1)建立一数据文件test.dat,用于存放矩阵A的数据。
在这里插入图片描述

(2)读取文件 test.dat 的内容
在这里插入图片描述

B =
1 8
4 3
7 6
2 9
5 0
cnt =
9
(3)文件定位
在这里插入图片描述

dingwei
four =
4
position =
8
eight =
5

4.图像基本操作
熟悉表1提供的matlab图像处理函数,并对图像进行基本操作。
(1)图像读写操作。如
在这里插入图片描述在这里插入图片描述

(2)对图像进行基本操作。如
在这里插入图片描述在这里插入图片描述

5.编程
(1)编写函数文件,计算
在这里插入图片描述在这里插入图片描述在这里插入图片描述

(2)用 Matlab 语言编写统计一幅灰度图像的直方图,并在同一个图形窗 口中显示该图像及其灰度直方图;
在这里插入图片描述在这里插入图片描述

(3)计算一幅灰度图像的熵。

在这里插入图片描述在这里插入图片描述

(4)编程实现图像镜像操作,并显示。
在这里插入图片描述在这里插入图片描述

四、实验心得

1.认识了MATLAB界面,知道基本的编程语句。
2.学会了图像的输入、输出,图像基本处理操作,会求解图像的灰度直方图和熵。
3.使用的语句不同,编程的代码多种多样,不同的语句由一定的相似处,而且都可以得出正确的结果。

  • 42
    点赞
  • 441
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
浙江工业大学数字图像处理实验是一个在Matlab环境下进行的实验Matlab是一种高级的数学软件和编程语言,广泛应用于数字图像处理领域。该实验主要涉及数字图像的获取、处理、分析和展示等方面。 实验的第一步是图像的获取。通过Matlab提供的函数,可以从各种来源获取图像,包括文件、摄像头和传感器等。获取到的图像可以是灰度图像或彩色图像。 接下来是图像的处理。Matlab提供了丰富的图像处理函数,如滤波、增强、几何变换等。滤波可以去除图像中的噪声;增强可以调整图像的对比度和亮度;几何变换可以改变图像的大小、旋转和翻转等。 实验中还包括图像的分析。通过Matlab的图像分析工具,可以提取图像的特征,如边缘、角点和颜色分布等。这些特征可以用于图像的检测、识别和分类等任务。 最后是图像的展示。实验中,可以利用Matlab的图像显示函数,将处理过的图像以可视化的形式呈现出来。通过图像展示,可以直观地观察处理效果,对比不同算法的优劣,并进行结果的分析和评估。 通过这个实验,学生能够学习到数字图像处理的基本概念、方法和技巧,掌握Matlab图像处理中的应用。这对于他们进一步深入研究图像处理领域,或者从事相关工作具有重要意义。同时,通过实验过程中的思考和实践,学生还能培养问题解决和创新思维能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nochengzi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值