数字图像处理(一)
2017-06-07 11:06
148 查看
本文基于Matlab环境,主要理论知识来源于冈萨雷斯《数字图像处理》。
主要内容
- 1、基本原理
- 2、亮度变换和空间滤波
- 3、频域处理
- 4、图像复原
- 5、彩色图像处理
- 6、小波分析
- 7、图像压缩
- 8、形态学图像处理
- 9、图像分割
- 10、表示和描述
- 11、对象识别
一幅图像可以定义为一个二维函数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(M−1,0)f(0,1)f(1,1)⋮f(M−1,1)…………f(0,N−1)f(1,N−1)⋮f(M−1,N−1)⎤⎦⎥⎥⎥⎥⎥
3.读取图像
4.显示图像
5.保存图像
6.Matlab数据类型
7.图像类型
亮度图像
二值图像
索引图像
RGB图像
亮度图像
一幅亮度图像是一个数据矩阵,其==归一化==的取值表示亮度。其像素都是uint8和uint16类别,他们的整数范围为[0,255]和[0,65535]。若图像为double类,则像素取值为浮点数。
二值图像
一幅二值图像是一个取值只有0和1的逻辑数组。若A是一个由0和1构成的==数组数组==,则可以使用以下语句创建一个==逻辑数组B==:
8.数据索引
向量索引
主要内容
- 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(M−1,0)f(0,1)f(1,1)⋮f(M−1,1)…………f(0,N−1)f(1,N−1)⋮f(M−1,N−1)⎤⎦⎥⎥⎥⎥⎥
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比特每像素) |
亮度图像
二值图像
索引图像
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(:) %产生一个列向量。
相关文章推荐
- 数字图像处理的Demo
- 数字图像处理编程之一:熟悉BMP图像格式
- 关于数字图像处理中灰度化的问题
- 利用Visual C#处理数字图像
- C#做数字图像处理研究的感觉
- 数字图像处理编程入门
- vs+C#处理数字图像
- RenderMonkey在数字图像处理中的应用
- 利用Visual C#处理数字图像(2)
- 国外数字图像处理网站[转贴]
- 数字图像处理课件
- 数字图像处理基础-第五章 图像数据压缩
- 数字图像处理基础-第二章数字图像处理基础
- RenderMonkey在数字图像处理中的应用(续)
- 数字图像处理词汇表
- [转]数字图像处理编程入门
- 利用Visual C#处理数字图像
- 玩玩数字图像处理之边缘提取
- 数字图像处理基础-第一章绪论 (转)
- 分享一套还不错的数字图像处理课件(北大计算机所)