【Matlab】数字图像处理_基本原理_1




前言

视觉是我们感觉中最高级的。因此,在人类感知世界中的重要程度不言而喻。然而,人类的视觉被限制在电磁波谱的可视波段,而成像机器几乎覆盖了全部的电磁波谱。它还可以在人类不常涉及的图像上进行处理,例如超声波、电子显微镜等。因此,数字图像处理有着很广泛的应用领域。本系列注重实践与理论相结合,基于matlab实现对图像进行处理。参考书籍:数字图像处理(冈萨雷斯)及其实验书籍。


提示:以下是本篇文章正文内容,下面案例可供参考

一、基本原理

MATLAB为数字图像处理带了一套广泛且容易理解的函数集。处理对象是多维数字(图像—二维数值数组)。IPT(图像处理工具箱)是用来扩展MATLAB数值的计算能力的函数集。从本章节将对MATLAB表示法及IPT,作为今后的基础知识。

二、数字图像的表示

对于一幅图像而言,我们通常将它转为一个二位函数f(x,y),即在空间平面坐标处,图像在该点的亮度为f(x,y)。
灰度:黑白图像亮度。
RGB:彩色系统,图像可分为红、绿、蓝,三幅独立的分量图像。
取样:将坐标值数字化。
量化:将振幅数字化。
数字图像:f的x,y分量和振幅都是有限且离散的量。

1.坐标约定

对于大多数编程语言以及数字图像处理的书籍中,对于一个二位数组(图像)通常f (x,y) 的x代表行,y代表列,图像的原点位于(0 ,0 ) 处。即对于一个有 Q 行 P 列的图像,x 的范围在0~ Q-1,y 的范围在0~ P-1。

但是IPT的约定方法与上述约定方法有两处不同:
1、使用(r , c)来定义行与列;
2、图像的原点位于(r , c)=(0,0)处;
注意:除此之外,IPT文档还可能采用另一种较少使用的坐标约定,称之为空间坐标,且这种定义方法以 x 表示列, y 表示行。

2.读取图像

使用imread函数(语法):

imread('filename')

该处使用的filename是一个含有图像文件全名的字符串(包括任何可以使用的扩展名),例如:

>>f = imread('pic_1.jpg');

注意:
1、命令行结尾的分号用于取消MATLAB中结果的输出,否则,会立即显示结果;
2、>>为在MATLAB命令行出现的提示符;
3、如上例,filename中不含有任何路径信息时,imread函数会从当前目录下开始搜素,如果没有想要的文件,它会从MATLAB搜索路径中寻找该文件。要想读取指定文件,最好的方法是将完整路径输入单引号其中。例如:

f = imread('D:\matlab-r2019b\matlab 2019b\pic_1.jpg');//读取图像文件

3.获取图像的行数和列数

函数size可以得到一幅图像的行数和列数,例如:

>>size (f)

结果是;

ans = 
	1024  1024

也可以使用以下格式来自动确定一个函数的大小:

>>[M, N] = size (f);

4.返回图像的附加信息

函数whos可以得到一幅图像的附加信息,例如:

>>f = imread('D:\matlab-r2019b\matlab 2019b\pic_1.jpg');//读取图像文件
>>whos f

输出结果为:

  Name         Size                   Bytes  Class    Attributes

  f         3024x4032x3            36578304  uint8              

也可以使用以下函数对数据及数据进行读取:

 f = imread('D:\matlab-r2019b\matlab 2019b\pic_1.jpg');//读取图像文件
 K = imfinfo('pic_1.jpg');//对图像信息进行处理

结果如下:

Filename: 'D:\matlab-r2019b\matlab 2019b\pic_1.JPG'
         FileModDate: '21-Nov-2021 09:04:03'
            FileSize: 1596315
              Format: 'jpg'
       FormatVersion: ''
               Width: 4032
              Height: 3024
            BitDepth: 24
           ColorType: 'truecolor'
     FormatSignature: ''
     NumberOfSamples: 3
        CodingMethod: 'Huffman'
       CodingProcess: 'Sequential'
             Comment: {}
         Orientation: 1
         XResolution: 72
         YResolution: 72
      ResolutionUnit: 'Inch'
    YCbCrPositioning: 'Centered'
       DigitalCamera: [1×1 struct]
       ExifThumbnail: [1×1 struct]

5.显示图像

函数 imshow ( f, G) 可以显示一幅图像,例如:

>>imshow (f,[low,high]); //[low,high]为灰度等级

输出结果


三、总结

以上就是今天要讲的内容,本文仅仅简单介绍了数字图像的表示方法。下一节,我们将继续对基于MATLAB的数字图像处理的基本原理进行讲解。

四、参考文献:

1.数字图像处理(第三版)——Rafael C.Gonzalez,Richard E.Woods,Steven L . Eddins; 2.数字图像处理实验指导书——Rafael C.Gonzalez,Richard E.Woods,Steven L . Eddins;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值