数字图像第一章笔记

目录:

1.1 背景

1.2 什么是数字图像处理

1.3 MATLAB和图像处理工具箱基础

1.4 教材涉及的图像处理范围

1.5 网站

1.6 符号

1.7 基本原理

 

1.1背景

1.2 什么是数字图像处理

图像à二维函数 (二维数组?)

其中和是空间坐标,其值称为图像在该点处的亮度或灰度

数字图像à当、 、的值都是有限的离散值时,称该图像为数字图像

数字图像处理研究à借助于计算机处理数字图像的研究

像素(pixels)==图片元素(picture element)==图像元素(image element)à指组成数字图像的元素,每个元素都有特定的位置和数值

 

图像处理的定义

输入(图像)à输出(图像) 比较狭义

输入(图像)à输出(特征)

图像处理和计算机视觉----无清晰的分割界限

低级处理----如降噪,对比度增强、锐化

中级处理----如图像分为区域和目标,标记描述,简化

高级处理----利用与人类视觉相关的感知函数,对识别对象进行总体确认

 

1.7 基本原理

1.71

灰度级----指单色图像的亮度

RGB彩色图像----由三幅单色图像组成

图像---关于坐标x, y是连续的

采样---对坐标值数字化

量化---对幅值数字化

数字图像----经过采样和量化后的有限坐标和幅值的图像

  • 采样和量化后得到的是一个实数矩阵,得到的数字图像大小
  • 采样后的离散坐标,为了方便,取整数值

图像工具箱中使用的坐标约定有两种:

  • 像素坐标----x表示行,y表示列
  • 空间坐标-----x表示列,y表示行

1.72 图像的输入/输出和显示

>> f=imread('cameraman.tif');

>> imshow(f)

>>figure,imshow(f,[15,200]) %[15,200]是指将原图中灰度值低于15的全部阶段成15,200以上的全部截断成100.

>> figure,imshow(f,[]) % []显示该图像的最小值与最大值之间的范围

 

Imwrite函数

>>imwrite(f,'cameraman.jpg','quality',q)

qà介于0到100的整数,越小,压缩越高,质量越不好

>>imwrite(g,'filename.tif','compression','parameter',

'resolution',[colres rowres])

'parameter'----'none' 无压缩

'packbits' 用于非二值图像

'lwz'. 'deflate'. 'jpeg' 'ccitt'. 'fax3' 'fax4'

[colres rowres]-----默认[72 72] [垂直方向上点数。水平方向上的点数]

 

1.73 类和图像类型

MATLAB中像素值不限制为整数

图像工具箱所支持的图像像素类型

double----8字节/像素

single-----4字节/像素

uint8-----1字节/像素

uint16、uint32、int8、int16、int32、char(2字节/像素)

logical(1字节/像素)

 

工具箱支持4种图像类型:

1.灰度级图像(Gray-scale images)-----数据矩阵:

uint8-----[0,255]

uint16----[0,65535]

double、single---归一化为[0,1]区间实数

 

2.二值图像(Binary images)

取值为0、1的逻辑数组

B=logical(A)%将A矩阵中非0的数值转换为1,0还是0

A---数值数组

B---逻辑数组

Islogical(B)%判断该数组是否逻辑数组

 

3.索引图像(Indexed images)

4.RGB图像(RGB images)

数据类型转换

B=data_class_name(A)

如: B=double(A); A---uint8, B---double

B=uint8(A); A---double, B---uint8

分数取整,超过部分截断

例:A=[400 200;1,80], B=uint8(A)

因为uint8的范围是[0,255],所以400会被截断成255,

所以B=[255 200;1,80].

 

图像类型之间的转换

>>f=[-0.5 0.5;0.75 1.5]

f = -0.5000 0.5000

0.7500 1.5000

>>g=im2uint8(f)

g =

2×2 uint8 matrix超过[0,255]范围就截断

0 128 -0.5*255 0.5*255

191 255 0.75*255 1.5*255

%im2uint8(f)---f可是logical、uint8、uint16、double

%im2uint16(f)---同上

g=mat2gray(A,[Amin,Amax])%归一化
g--值介于0和1之间实数; A----double
Amin--A中小于其的置为0;Amax--A中大于其的置为1

 

g=im2double(h)函数

>>A=[3 4; 5 9];

>>AA=uint8(A);

>>B=im2double(A) %不改变double型数组

B =

3 4

5 9

>>B=im2double(AA)%如果类型是uint8,uint16,logical, 输出double型,值0,1之间

B =

0.0118 0.0157

0.0196 0.0353

uint8 /255 直接除就好

uint16 /65535 同上

 

meshgrid函数制作关于f=Asin(u0x+v0y)的代码

[X,Y]=meshgrid(1:3,10:14)%X是列标、Y是行标

解 function f=twodsin2(A,u0,v0,M,N)

r=0:M-1;%行

c=0:N-1;%列

[C,R]=meshgrid(c,r);

f=A*sin(u0*R+v0*C);

>>f=twodsin2(1,1/(4*pi),1/(4*pi),512,512);

>>imshow(f)

posted @ 2020-06-07 11:34  PLG  阅读(241)  评论(0编辑  收藏  举报