数字图像处理(一)

本文介绍了基于Matlab的数字图像处理基础知识,包括图像的数字表示、矩阵表示、亮度变换、二值图像和RGB图像等内容,为后续的图像处理操作打下基础。
摘要由CSDN通过智能技术生成

本文基于Matlab环境,主要理论知识来源于冈萨雷斯《数字图像处理》。


主要内容
- 1、基本原理
- 2、亮度变换和空间滤波
- 3、频域处理
- 4、图像复原
- 5、彩色图像处理
- 6、小波分析
- 7、图像压缩
- 8、形态学图像处理
- 9、图像分割
- 10、表示和描述
- 11、对象识别

基本原理

1. 数字图像的表示

一幅图像可以定义为一个二维函数 f=(x,y) 其中 x y是空间坐标,而 f 在任意一对坐标(x,y)处的幅度称为改点处图像的亮度灰度。当 x y f 的幅值都是有限的离散值时,称该图像为数字图像。其中灰度是用来表示黑白图像亮度的一个术语。

彩色图像是由单个二维图像组合而成。在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成。

图像关于x y 坐标以及振幅连续。要将图像–>数字,就要求数字化坐标和振幅。其中坐标值数字化称为取样;将振幅数字化称为量化

2. 图像的矩阵表示

f(x,y)=f(0,0)f(1,0)f(M1,0)f(0,1)f(1,1)f(M1,1)f(0,N1)f(1,N1)f(M1,N1)

3.读取图像

%imread的用法
f = imread('test.jpg')
f = imread('D:\Documents\MATLAB\test.jpg')
%size的用法
[M,N] = size(f)
%whos(f)显示一个数组的附加信息

4.显示图像

%读入与显示图像
f = imread('test.jpg')
whos(f)
imshow(f)
%显示多个图像
imshow(f),figure,imshow(g)

5.保存图像

imwrite(f,'test1.tif')
%存储图像信息
k = imfinfo('test.jpg')

6.Matlab数据类型

名称描述
double双精度浮点数(8比特每像素)
uint8无符号8比特整数,范围为[0,255]。(1比特每像素)
uint16无符号16比特整数,范围为[0,65535]。(2比特每像素)
uint32无符号32比特整数,范围为[0,4294967295]。(4比特每像素)
int8有符号8比特整数,范围为[-128,127]。(1比特每像素)
int16有符号16比特整数,范围为[-32768,32768]。(2比特每像素)
int32有符号32比特整数,范围为[-2147483648,2147483648]。(4比特每像素)
single单精度浮点数,范围为-10^38 ~ 10^38 。(4比特每像素)
char字符 (2比特每像素)
logical值为0或1(1比特每像素)

7.图像类型

  • 亮度图像
  • 二值图像
  • 索引图像
  • RGB图像

亮度图像

一幅亮度图像是一个数据矩阵,其==归一化==的取值表示亮度。其像素都是uint8和uint16类别,他们的整数范围为[0,255]和[0,65535]。若图像为double类,则像素取值为浮点数。

二值图像

一幅二值图像是一个取值只有0和1的逻辑数组。若A是一个由0和1构成的==数组数组==,则可以使用以下语句创建一个==逻辑数组B==:

B = logical(A)
%测试一个数组是否为逻辑数组,真为1,否为0.
islogical(B)

8.数据索引

向量索引

v=[1 3 5 7 9] %v= 行向量
w = v.'%转置运算符(.'),行向量转为列向量。  
v = (3:end) %存取第三个到最后一个元素
v(:) %产生一个列向量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值