图像增强简介
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
数字图像的诞生并不是与计算机的发展完全相关,第一次世界大战结束后的第二年,数字图像被发明并用于报纸行业。为了当时传输此图像,发明了Bartlane电缆图像传输系统。主要是为了从英国伦敦连接到美国纽约。
第一张数字图像的传输是在1921年实现的,用打印机进行了3个小时的编码和解码,当时使用5个灰度级进行编码,因为人眼只能分辨出这么多。
Bartlane系统在图片传输中使用的Baudot磁带样本
电子计算机是在1950年代发明的,人们开始使用计算机来处理图像,数字图像处理在1960年代初开始正式诞生。
早期图像处理的目的是提高图像质量。喷气推进实验室(JPL)使用图像处理技术处理了空间探测器Prowler 7在1964年发回的数千张月球照片,包括几何校正和灰度。成功绘制月球表面图可以被认为是最早的数字图像处理。
01.图像直方图
直方图通常可以为我们提供一些优化图像的方法。图像实际上是一个二维矩阵,因此该矩阵的每个位置[i,j]必须对应一个[0,255]的值。我们可以根据灰度值的大小将具有相同灰度值的像素分组到同一组中,并绘制每个灰度值中包含的像素数以获得直方图。假设此时与图像相对应的灰度等级为[0,L-1],则直方图实际上就是这样一个函数:
其中,r_k代表第k个灰度级,n_k代表与图像中第k个灰度级相对应的像素数,n为该图像中所有像素的总数在数字图像处理中,我们经常需要获取归一化的直方图:
其中,P(r_k)实际上表示某种形式的概率,它表示像素总数中灰度级为r_k的像素数。
左侧代表深色部分,右侧代表亮色部分,中间代表中间调。
垂直方向的高度表示像素的密度,并且高度越高,在该亮度下分布的像素越多。
02.点操作
图像的点的操作是执行相同的操作˚F上的每个像素(X,Y)与图像的相同灰度值予。
点操作改变原始像素但是不受其位置或相邻像素影响,通常用于更改灰度范围和分布。
03.图像阈值
图像阈值算法简单高效,至今仍在许多场景中使用,实时性非常好。
图像阈值分为全局阈值,局部阈值和动态阈值。全局阈值将对整个图像使用单个阈值,而局部阈值将基于图像的局部信息在本地执行阈值化。
设置某个阈值T可以将图像分为两部分:大于T的像素组和小于T的像素组。
高于T的任何东西都变成1,低于T的任何东西都变成0。
Imgae阈值图像的示例
04.对比拉伸
对比度拉伸是将灰度值范围拉大,以达到色差更明显的目的。
如果所有像素的灰度值集中在L和H之间,这将使整个图像非常暗。换句话说,对比度不高。
如果我们使用灰度变换将灰度值扩展到整个0-255间隔,则对比度明显得到了增强。以下公式可用于将像素的灰度值映射到更大的灰度空间:
其中,L、H是原始图像的最小和最大灰度值,而MIN和MAX是要拉伸的灰色空间的最小和最大灰度值。
对比度拉伸示例
LH之间的像素值将映射为0-255,L左侧以外的值都将变为0,H右侧以外的值将变为255。
05.直方图均衡化
直方图均衡处理是将原始图像的灰度直方图从相对集中的灰度间隔更改为整个灰度范围内的均匀分布。非线性拉伸图像并重新分配图像像素值,以便某个灰度范围大致相同。
当图像直方图完全均匀分布时,图像的熵最大,图像对比度高。提高图像对比度的变换函数f(x)需要满足以下条件:
其中p_x代表的概率密度函数。在离散图像中,它表示直方图每个灰度级的概率。变换函数f(x)实际上是连续随机变量x的分布函数,它表示该函数下的面积。
转换后的概率密度:
从变量上限函数的推导规则可以知道:
逆函数的导数等于原始函数的导数的倒数,因此:
除此之外,
变换后的概率密度函数是均匀分布。对于图像,每个灰度等级的概率相等,这可以达到我们的目标。
接下来,我们需要将该变换函数转换为图像中的表达式,我们使用求和而不是积分,使用差而不是微分。因此,上述转换函数为:
其中,h(xi)代表直方图中每个灰度级的像素数,w和h分别代表图像的宽度和高度。
对比度拉伸.Image的示例作者。
如果我们将累积直方图H应用为对比度变化,那么我们将在图像上施加均匀的直方图。我们使用H作为一种查找表来查找图像的新值。
实际上,这可以通过以下方法完成:
• 标准化累积直方图,以使最大值为1.0。这会将最终图像映射到区间0,…,1。
• 将图像灰度级转换回间隔0,…,255作为int值。
• 将累积直方图应用于图像像素的值
06.伽马校正
伽玛校正是对图像的非线性操作,用于检测图像信号部分和浅色部分中的暗色,并增加二者的比率以提高图像对比度效果。
每个显示设备在像素输入强度和显示输出亮度之间具有不同的非线性关系,取决于:
将非负实际输入值V_in升高到CRT显示屏的功率γ,以获得输出值V_out。
但是,实际上对于大多数相机或成像设备,该关系是线性的。这导致监视器上显示的图像与照相机设备拍摄的实际图像不一致。为了纠正这种差异,当保存由以下内容确定的图像时,相机将自动对数据进行伽玛校正:
其中,γ仍然是显示器的伽玛值。监视器显示图像时,由监视器的伽玛值引起的错误被抵消。
显示器的伽玛值越高,图像越暗。
红线代表显示屏的伽玛值
蓝线代表相机保存照片时进行的校正
紫色线代表两者合并后的结果
大多数图像捕获设备在保存图片时会自动添加伽玛校正,这意味着非线性空间中的颜色存储在图片中。我们直接使用存储在图片中的颜色数据,然后最终输出到屏幕时,再次手动执行伽玛校正,这将导致纹理太亮,因为我们执行了两次伽玛校正。
伽玛校正的示例
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~