class1. 分辨率
分辨率(spatial resolution)是指图像像素点个数;灰度分辨率(gray level resolution)是体现显示器区分灰度的能力。灰度分辨率越大,可展现在屏幕上的灰度越多
分辨率的大小取决于采样方式,灰度分辨率的大小取决于用于表示灰度的二进制位数
灰度图像存储大小的计算:
亮度图像存储大小的计算(Intensity level),计算与灰度图的方式相同,取决于图像分辨率和用于表示Intensity level的二进制位数
不同分辨率的图像
拉到同一大小后
分辨率相同,灰度分辨率不同的
class2.基于像素点的图像处理、灰度直方图均衡化(常用的方式,用于增强对比度)
灰度值范围[0,255],0为黑色,255为白色,课件中假设灰度范围为[0.0,1.0]
主流的图像增强有两大类:基于空间域进行操作、基于频率域进行操作。
基于空间域的图像处理
最简单的基于空间域的图像处理是:Point Processing,即:邻居就只是它本身,也就是对每一个像素进行单独的处理
基于Point Processing 的相关技术
基于Thresholding的Point Processing
常用于分割,例如将感兴趣的图片从背景中独立出来
基于log transformation 的Point Processing
基于log的变换对于具有非常大灰度范围的图像来说很有用
基于Power law(幂次法则)的Point Processing
将一个窄范围的黑色输入,变换为宽范围的输出,反之亦然。比如:暗的变亮一些,亮的变暗一些;
暗的变亮,r的幂越小,则越亮
亮的变暗,r的幂越大,则越暗。
基于Gray Level Slicing (灰度值切片)的Point Processing
对于增强图片特征很有用
基于Bit Plane Slicing (位平面切片)的Point Processing
用于分离出图片中特殊位的像素,高位像素通常包含更有意义的可视化信息
基于图像相减(image subtraction)的Point Processing
可以用于车辆、行人追踪
#####为了灰度值不超出范围,使用的scaling方法
基于image averaging 的point processing
可以用于去除噪音
越多带噪声的图像取平均,效果越好,由于M越大,g(x,y)的偏差就会越小
#####为了灰度值不超出范围,使用的scaling方法
图像直方图(灰度直方图)(Image Histograms)
灰度直方图相关参数的定义
图像直方图的特点:
1.只有像素值分布的统计,不包括像素的位置信息。
2.不同的图像可能有相同的图像直方图
图像直方图可以揭示出有某部分东西被掩盖住了
曝光不足,在低灰度值部分分布更多,高灰度值部分分布更少。
曝光过度,灰度值分布,低灰度值基本没有,高灰度值很多。
高对比度的图像,直方图的分布会更均匀
直方图均衡化(Histogram Equalization),一种最常用的图像处理方法
基本思想:找到一种映射变化T( r )使得图像直方图分布更均匀,这样图像的对比度就会更高,相对来说也更清晰
T( r )需要满足两个条件:1.单调递增;2. 0<=r<=1,0<=T( r )<=1
条件1是为了使输出图像灰度值也从低(黑)到高(白)递增。
条件2是为了使输出的灰度值和输入在同一范围
直方图均匀化理论推导变化函数
给定一个输入图像,输出图像的概率密度分布由输入图像的概率密度和变化函数T( r )共同确定。也就是说通过改变变化函数,可以改变输出图像灰度直方图的分布。
Pr®和Ps(s)分别为输入图像的概率密度分布和输出图像的概率密度分布。
怎样找到一个合适的变化T( r )?
这个变化满足之前的两个条件Ps(s)=1 也就是说我们用上面这个变上界积分函数作为变化函数,我们可以得到一个均匀分布的灰度直方图。
需要注意的是,T( r)依赖于pr( r),但是ps( s)始终是均匀分布的,独立于pr®的形式。因此我们可以使用pr( r)作为变换函数,生成一个直方图均匀分布的输出图像,即直方图均衡化。
上面的推导,概率密度是连续函数,但实际图像是离散的,有限的,因此用近似的方法,用归一化后的灰度直方图来近似上面的概率密度,用累加来近似积分。
直方图均衡化步骤:
- 计算归一化后的灰度直方图,Pr(rk)。
- 计算归一化后的灰度直方图的累加和,Sk=T(rk)。
- 累加之后的值乘以L-1,并需要对结果进行取整 (累加和出来的范围是0,1。要将它转化为gray-level(灰度级)eg.0-255,灰度级都是整数,所以需要有取整操作)
- 映射操作。将输入图像的灰度级映射到最终变化后的输出图像的灰度级。比如8个灰度级,输入图像可能0-7共8个灰度都有,但变化后,有的灰度可能没有,因为可能会将几个灰度合并为一个灰度,可能将原来的0灰度映射成了1灰度。具体看后面的例子。
直方图均衡化举例
step1.计算归一化后的灰度直方图,即:离散的数字图像的概率密度分布
给了6464像素的,为了方便给的是8个灰度级(0-7),而不是256个灰度级(0-255)
1/7,是因为8个灰度级正常的范围是[0,7],但计算中是将其映射到[0,1],因此是k/L-1,k=0,1,2,……L-1。
所有nk加起来是等于6464的
step2.计算归一化后的灰度直方图的累加和。
step3.累加之后的值乘以L-1,并需要对结果进行取整 (累加和出来的范围是0,1。要将它转化为gray-level(灰度级)eg.0-255,灰度级都是整数,所以需要有取整操作)
step4. 做映射,映射表更为直观
理论推导上的是使用该变化函数,输出的应该是严格均匀分布的灰度直方图,为什么例子上的并不均匀,这是因为我们使用的是数字图像,是离散的,是用了近似的方法,只能得到一个近似的结果。因此会存在不均衡,但效果依旧有很大改善。