基础
取样和量化
为了产生一副数字图像,需要把连续的感知数据转换为数字形式(离散化)。包括取样和量化。
所谓采样,就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。一个网格称为一个像素。总像素为M*N
采样间隔越大,所得图像像素数越少,空间分辨率低,质量差,严重时出现马赛克效应;采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。
量化就是把采样点上对应的亮度连续变化区间转换为单个特定数码的过程。量化后,图像就被表示成一个整数矩阵。每个像素具有两个属性:位置和灰度。位置由行、列表示。灰度表示该像素位置上亮暗程度的整数。
量化等级越多,所得图像层次越丰富,灰度分辨率高,图像质量好,但数据量大;量化等级越少,图像层次欠丰富,灰度分辨率低,会出现假轮廓现象,图像质量变差,但数据量小.
离
散
灰
度
级
数
:
L
=
2
K
(
为
了
表
示
和
存
储
方
便
)
.
有
2
k
个
灰
度
级
数
,
称
为
K
比
特
图
像
。
离散灰度级数 :L=2^K(为了表示和存储方便). 有2^k个灰度级数,称为K比特图像。
离散灰度级数:L=2K(为了表示和存储方便).有2k个灰度级数,称为K比特图像。
存储图像所需的比特数B=M*N*K
空间分辨率和灰度分辨率
直观上看,空间分辨率是图像中可辨别的最小细节的度量。采样对应空间分辨率。
空间分辨率度量:①每单位距离线对数;②每单位距离点数(像素数);
在美国,空间分辨率度量用每英寸点数(dpi)来表示(后续文章dpi值用字母N表示)
空间分辨率越大,图片效果越好。因为每英寸容纳的信息点数变大
灰度分辨率指在灰度级中可分辨的最小变化。
量化对应灰度分辨率。灰度分辨率K=量化灰度的比特数。被量化为256级的图像的灰度分辨率是8bite
等偏爱曲线
为了直观的表示K和N对图像质量的主观影响(就是人类主观认为的)。
图像越右上越表示质量好。
图像中的每一个点都是一副图像。位于同一条曲线上的点,具有相等的主观判定质量的图像。
- 对于细节较多的图像,灰度分辨率K影响不大
图像内插
内插是在放大,收缩,旋转和几何校正等任务中广泛使用的基本工具。
这里介绍用内插调整图像的大小,这是基本的图像重采样方法。
根本上讲,内插就是用已知数据来估计未知位置的数据、
-
最近邻内插法
不常用,可能某些直边缘的严重失真。
比如500x500px的图像要放大1.5倍到750x750px。
先创建一个750x750的网格,具有与原图像相同的间隔,然后将它收缩,使他准确的与原图匹配。显然,收缩后的750x750网格的像素间隔要小于原图的像素间隔(因为网格一开始的间隔就和原图一样,缩小之后肯定是小于啊)。为了对覆盖的每一个点赋以灰度值,我们在原图中寻找最接近的像素,并把该像素的灰度付给750x750网格中的新像素。之后750x750图像扩展到原来的大小,这样就得到了放大后的图像。
-
双线性内插
常用。用四个最近邻去估计给定位置的灰度。
令(x,y)表示将要赋灰度值位置的坐标。v(x,y)表示灰度值。
v(x,y)=ax+by+cxy+d
-
双三次内插
包括16个最近邻点。是商业图像编辑程序的标准内插法,如Adobe Photoshop
v ( x , y ) = ∑ i = 0 3 ∑ j = 0 3 a i j x i y i v(x,y)=\sum_{i=0}^{3}\sum_{j=0}^{3}a_{ij}x^iy^i v(x,y)=i=0∑3j=0∑3aijxiyi -
样条
-
小波
线性与非线性
对于算子H,输入图像f,输出图像g
H
[
f
(
x
,
y
)
]
=
g
(
x
,
y
)
H[f(x,y)]=g(x,y)
H[f(x,y)]=g(x,y)
如 果 H [ a i f i ( x , y ) + a j f j ( x , y ) ] = a i H [ f i ( x , y ) ] + a j H [ f j ( x , y ) ] = a i g i ( x , y ) + b j g j ( x , y ) , 则 称 H 是 一 个 线 性 算 子 如果H[a_if_i(x,y)+a_jf_j(x,y)]=a_iH[f_i(x,y)]+a_jH[f_j(x,y)]=a_ig_i(x,y)+b_jg_j(x,y),则称H是一个线性算子 如果H[aifi(x,y)+ajfj(x,y)]=aiH[fi(x,y)]+ajH[fj(x,y)]=aigi(x,y)+bjgj(x,y),则称H是一个线性算子
直方图
灰度级范围为[0,L-1]的数字图像的直方图
h
(
r
k
)
=
n
k
,
其
中
r
k
是
k
级
灰
度
值
,
n
k
是
灰
度
为
r
k
的
像
素
个
数
h(r_k)=n_k,其中r_k是k级灰度值,n_k是灰度为r_k的像素个数
h(rk)=nk,其中rk是k级灰度值,nk是灰度为rk的像素个数
p ( r k ) = n k / M N , M N 是 像 素 总 数 , 通 常 为 行 和 列 p(r_k)=n_k/MN, MN是像素总数,通常为行和列 p(rk)=nk/MN,MN是像素总数,通常为行和列
i=imread('d:\\cat.jpg');
i=rgb2gray(i);
j=imhist(i);
plot(j);