原创作品,出自 “晓风残月xj” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj)。
由于各种原因,可能存在诸多不足,欢迎斧正!
1.课程论文题目
去雾。
本次论文我的选题是去雾。由于对《图像处理与分析》这门课很感兴趣,同时也为了锻炼一下自己学习新知识的能力,我没有选择一些容易的常规的图像处理与分析算法,而是选择较为前沿的去雾算法。作为一名计算机专业的学生,我认为仅仅掌握基本的程序设计思想与常规算法是远远不够的,还要培养自己不断学习的能力—学习新知识、学习新思想的能力。这方面很重要的体现就是了解相关科技前沿,尽自己最大努力研读新论文。此外,我认为一个好的课程报告应该有一定的实用价值,或者说写报告的人应该尽可能使自己的选题有实用价值。众所周知,伴随着我国经济的快速发展,一些一味追求GDP的粗制乱造的发展模式所带来的严重后果正在干扰着我们的正常生活方式。我这次报告所要探讨的主题—雾就是其中不可忽视的因素。我这里所说的雾,是广义的雾,包括雾、霾、沙尘、烟等一切导致视觉效果受限的物理现象。由于雾的存在,户外图像质量降低,如果不处理,往往满足不了相关研究、应用的的要求。在雾的影响下,经过物体表面的光被大气中的颗粒物吸收和反射,导致获取的图像质量差,细节模糊、色彩暗淡。通过一定的技术手段,去掉物体表面的雾霭,增强图片效果显得尤为重要。
2.程序设计思路
由于我的程序可处理的图片可以是灰度的、彩色的两种。所以我设计了两种算法实现不同格式图片的处理:直方图灰度分布均衡化去雾算法,基于单幅图像的快速去雾算法。
(1)、直方图灰度分布均衡化去雾算法
在此我先谈谈我对直方图均衡化的认识。
直方图均衡化(英文名Histogram Equalization),通过使用累积函数对灰度值进行“调整”以实现对比度的增强。具体说来,即把原图像对应的灰度直方图从比较集中的灰度区间通过一定的转换变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。
直方图均衡化的具体编程实现为
A.统计每个灰度等级对应的像素点数
B.计算累计概率
C.重新映射图像像素点灰度
在这里我首先统计0-255个灰度等级i的像素点数Color[i],然后分别除以图像总的像素点求出每个灰度等级对应的概率PerProbability[i];接着运用积分的思想来计算累计概率AccuProbability[i];然后映射求得新的像素值NewColor[i]。
上述坐标图和积分式解释了积分思想求累计概率的正确性。下面举个例子展示整个过程。
a.假设下面使是图像对应的像素点:
b.下面是中间处理工程
c.经过处理后图像对应的像素点:
为什么直方图灰度分布均衡化可以在一定成都上达到去雾的效果呢?这是因为通过使用累积函数对灰度值进行“调整”以实现对比度的增强,一定程度上使暗的地方更暗、亮的地方更亮,从而在视觉上达到去雾的效果。
但是上面的去雾效果仅仅局限于灰度图片,而不能处理更为实用的彩色图像。经过上述直方图处理后,达到均衡化图像的目的,但是图像会在原图基础上失真或称为走样,即整幅图像的颜色发生很大改变,严重偏离去雾的初衷(去雾是在原图基础上除去表面的薄纱从而增强整幅图像的视觉效果)。
综上,直方图灰度分布均衡化去雾算法可以处理灰色图,但对于彩色图像就会出现走样,达不到去雾的效果。为了解决彩色图像的去雾问题,我又看了一些最新论文,其中包括何凯明博士的《Single Image Haze Removal Using Dark Channel Prior》论文,这是一篇非常深刻的文章,里面公式推导很多,我硬着头皮读完后看不懂,于是又到博客园、CSDN上筛选出几篇相对容易理解和实现的论文,其中我对清华大牛刘倩、陈茂银、周东华的《基于单幅图像的快速去雾算法》论文非常感兴趣,决定以其为突破点尝试彩色图像的去雾算法实现。