设计题目:图像去雾处理

  1. 设计目的

由于大气的散射作用,照相机接收到景物反射过来的光线经过了衰减。雾天的大气退化图像具有对比度低、景物不清晰的特点,给交通系统及户外视觉系统的应用带来严重的影响。。鉴于图像处理和计算机视觉中有关图像理解、目标识别、目标跟踪、智能导航等领域的很多算法都是假设输入的图像或视频是在理想天气条件下拍摄的,因此有雾图像清晰化就显得格外重要,是目前人们研究的热点问题之一,但由于成像系统聚焦模糊、拍摄场景存在相对运动以及雾天等不利环境,使得最终获取的图像往往无法使用。有雾天气条件下获取的图像对比度低、图像内容模糊不清而且颜色整体偏向灰白色,图像去雾的目的就是恢复有雾图像的对比度和真实色彩,重现在理想天气条件下拍摄的清晰图像。

  1. 设计内容和要求

1、 采用直方图均衡化方法增强雾天模糊图像,并比较增强前后的图像和直方图;

2、 查阅文献,分析雾天图像退化因素,设计一种图像复原方法,对比该复原图像与原始图像以及直方图均衡化后的图像;

  1. 设计思路

由于图像中存在噪声等干扰,使得图像模糊不清。可以采用图像增强的方法对原图像处理,使图像变得清晰。而直方图均衡化是一种常用的图像增强的方法。图像模糊,其图像的像素分布不均匀,采用直方图均衡化的方法使其图像像素分布均匀,从而达到均衡像素分布增强图像的目的。

设计方案

在晴朗的天气条件下,洁净的空气一般是由氦气、氧气等气体分子、水蒸汽、微量的固体悬浮颗粒物等成分构成。在这种大气条件下,从物体表面反射的光线在到达成像设备的过程中,基本不会受大气中各种成分的影响发生散射、吸收、发射等现象,而是直接到达成像设备。相对在有雾天气条件下获得的图像,在这种理想天气条件获得的图像,我们称之为清晰无雾图像。而在有雾天气条件下获得的图像模糊不清,图像对比度下降,图像的颜色发生漂移,偏向灰白色。

无雾图像和有雾图像相比对比度较高,因此可以考虑增强局部对比度方法进行去雾:

1、对彩色图像RGB模型转换为HSI,对I分量分析图像直方图;

2、设置适合尺寸模版,对I分量进行局部直方图均衡化增强,分析增强前后的图像和直方图。

3、查阅“基于暗原色先验的单一图像去雾方法”,设计图像无雾算法。

流程框图

输入图像——RGB模型中进行直方图均衡化——RGB模型转换为HIS模型——在HIS模型中对——亮度进行均衡化——输出图像——直方图均衡化

对于连续图像,设r和s分别表示被增强图像和变换后图像的灰度。为了简单,在下面的讨论中,假定所有像素的灰度已被归一化了,就是说,当 时,表示黑色;当 时,表示白色;变换函数 与原图像概率密度函数 之间的关系为:

(1)

式中:r为积分变量。式(1)的右边可以看作是r的累积分布函数(CDF),因为CDF是r的函数,并单调地从0增加到1,所以这一变换函数满足了前面所述的关于 在 内单值单调增加,对于 ,有 的两个条件。

由于累积分布函数是r的函数,并且单调的从0增加到1,所以这个变换函数满足对式(1)中的r求导,则:

(2)

再把结果带入式:

(3)

由以上推到可见,变换后的变量s的定义域内的概率密度是均匀分布的。由此可见,用r累积分布函数作为变换函数可产生一幅灰度级分布具有均匀概率密度的图像。其结果扩展了像素取值的动态范围。

上面的修正方法是以连续随机变量为基础进行讨论的。为了对图像进行数字处理,必须引入离散形式的公式。当灰度级是离散值的时候,可用频数近似代替概率值,即:(4)

式中,L是灰度级数; 是取第k级灰度值的概率; 是在图像中出现第k级灰度的次数;N是图像中像素数。

通常把为得到均匀直方图的图像增强技术叫做直方图均衡化处理或直方图线性化处理。式(1)的直方图均衡化累积分布函数的离散形式可由式(5)表示:

(5)

其反变换为

(6)

直方图均衡化效果:

原图 直方均衡后

原图 直方均衡后

直方图均衡化是一种全局操作,而有雾图像的退化程度是不均匀的,场景深度大的物体比场景深度小的物体退化的更严重,在某种程度上局部直方图均衡化更能描述这种性质。

在图像一个窗口内使用直方图均衡化算法,然后通过窗口在图像上不同位置的移动就计算出来了整幅图像的局部化直方图。这种算法的计算量比较大,使用一些优化技巧可以提高图像处理的速度。显示了同一幅有雾图像在不同窗口大小下的局部直方图均衡化结果,从中可以大略看出小窗口处理结果的对比度较大,图像上的噪声也比较严重;大窗口处理结果的比较平滑,噪声比较小。

HIS彩色模型下的图像增强

在图像处理及显示的过程中,为了能正确的使用颜色模型,需要建立颜色模型。颜色模型是三维颜色空间中的一个可见光集,它包含某个颜色域的所有模型。常见的颜色模型有RGB,HSV,NTSC,HISr等,各颜色模型之间可通过公式进行相互转换。

HSI〔Hue-Saturation-Intensity(Lightness),HSI或HSL〕颜色模型用H、S、I三参数描述颜色特性,其中H定义颜色的波长,称为色调;S表示颜色的深浅程度,称为饱和度;I表示强度或亮度

当人观察一个彩色物体时,用色调、饱和度、亮度来描述物体的颜色。色调是描述纯色的属性(纯黄色、橘黄或者红色);饱和度给出一种纯色被白光稀释的程度的度量;亮度是一个主观的描述,实际上,它是不可以测量的,体现了无色的强度概念,并且是描述彩色感觉的关键参数。而强度(灰度)是单色图像最有用的描述子,这个量是可以测量且很容易解释。则将提出的这个模型称作为HSI(色调、饱和度、强度)彩色模型,该模型可在彩色图像中从携带的彩色信息(色调和饱和度)里消去强度分量的影响,使得HSI模型成为开发基于彩色描述的图像处理方法的良好工具,而这种彩色描述对人来说是自然而直观的。

HSI模型基于两个重要的事实:其一,I分量与图象的彩色信息无关;其二,H和S分量与人感受颜色的方式是紧密相连的。

HSI模型中的各分量可定义在如图1(a)中所示的双棱锥中,其中每个横截面如图1(b)所示。对其中的任1个色点P,其H的值对应指向该点的矢量与R轴的夹角。这个点的S与指向该点的矢量长成正比,越长越饱和。

利用由RGB转换成HIS的公式进行模型转换:

基于Matlab的RGB色彩模型和HSI色彩模型的互化

变换公式:

H= θ B≤G 360-θ B>G

其中,θ= arccos 0.5∗[ R−G +(R−B)]

[ R−G +(R−B)(G−B)1/2]; S=1-3

(R+G+B)[min(R,G,B)]

I=1/3*(R+G+B);

clear;clc;close; x=imread('1.jpg'); rgb=im2double(x); r=rgb(:,:,1); g=rgb(:,:,2);

b=rgb(:,:,3);%提取彩色图像R、G、B三个色彩通道的分量。 %构建rgb到his模型的转换公式 num=0.5*((r-g)+(r-b));

den=sqrt((r-g).^2+(r-b).*(g-b)); theta=acos(num./(den+eps)); H=theta;

H(b>g)=2*pi-H(b>g);

H=H/(2*pi);

num=min(min(r,g),b); den=r+g+b;

den(den==0)=eps; S=1-3.*num./den; H(S==0)=0; I=(r+g+b)/3;

hsi=cat(3,H,S,I);%将色调H(Hue)、饱和度S(Saturation)、强度I(Intensity)分量合并成hsi色彩空间矩阵

subplot(121),imshow(hsi),title('rgb转hsi');%显示结果图像

H=hsi(:,:,1)*2*pi; S=hsi(:,:,2); I=hsi(:,:,3);

%得到R、G、B三个分量的初始矩阵,并赋为全0 R=zeros(size(hsi,1),size(hsi,2)); G=zeros(size(hsi,1),size(hsi,2)); B=zeros(size(hsi,1),size(hsi,2));

%当H分量在0到2/3pi之间时 idx=find((0<=H)&(H<2*pi/3)); B(idx)=I(idx).*(1-S(idx));

R(idx)=I(idx).*(1+S(idx).*cos(H(idx))./cos(pi/3-H(idx))); G(idx)=3*I(idx)-(R(idx)+B(idx));

%当H分量在2/3pi到4/3pi之间时 idx=find((2*pi/3<=H)&(H<4*pi/3)); R(idx)=I(idx).*(1-S(idx));

G(idx)=I(idx).*(1+S(idx).*cos(H(idx)-2*pi/3)./cos(pi-H(idx))); B(idx)=3*I(idx)-(R(idx)+G(idx));

%当H分量在4/3pi到2pi之间时 idx=find((4*pi/3<=H)&(H<=2*pi)); G(idx)=I(idx).*(1-S(idx));

B(idx)=I(idx).*(1+S(idx).*cos(H(idx)-4*pi/3)./cos(5*pi/3-H(idx))); R(idx)=3*I(idx)-(G(idx)+B(idx));

rgb1=cat(3,R,G,B);%合并矩阵得到结果

subplot(122),imshow(rgb1),title('hsi转rgb');

  1. 源程序

matlab源程序

  1. 选择图像并观察其直方图

[fname pname]=uigetfile({'*.png';'*.jpg'},'select a image');

Im = imread(fname);

axes(handles.axes1);

imshow(Im);imwrite(Im,'image1.tif');

axes(handles.axes2);

Im_1=rgb2gray(Im);

imhist(Im_1,64);

2、在RGB模型中对其进行直方图均衡化

RGB=imread('image1.tif');

R=RGB(:,:,1);

G=RGB(:,:,2);

B=RGB(:,:,3);r=histeq(R);

g=histeq(G);

b=histeq(B);

Im2=cat(3,r,g,b);

axes(handles.axes3);

imshow(Im2);

axes(handles.axes4);

Im_2=rgb2gray(Im2);

imhist(Im_2,64);

3、在HIS模型中对亮度进行均衡化

F=imread('image1.tif');

F=im2double(F);

r=F(:,:,1);

g=F(:,:,2);

b=F(:,:,3);

th=acos((0.5*((r-g)+(r-b)))./((sqrt((r-g).^2+(r-b).*(g-b)))+eps));

H=th;

H(b>g)=2*pi-H(b>g);

H=H/(2*pi);

S=1-3.*(min(min(r,g),b))./(r+g+b+eps);

I=(r+g+b)/3;

hsi=cat(3,H,S,I);

IE=histeq(I);

RV=cat(3,H,S,IE);

HV=RV(:,:,1)*2*pi;

SV=RV(:,:,2);

IV=RV(:,:,3);

R=zeros(size(HV));

G=zeros(size(HV));

B=zeros(size(HV));

%RG Sector;判断H所在范围

id=find((0<=HV)& (HV<2*pi/3));

B(id)=IV(id).*(1-SV(id));

R(id)=IV(id).*(1+SV(id).*cos(HV(id))./cos(pi/3-HV(id)));

G(id)=3*IV(id)-(R(id)+B(id));

%BG Sector

id=find((2*pi/3<=HV)& (HV<4*pi/3));

R(id)=IV(id).*(1-SV(id));

G(id)=IV(id).*(1+SV(id).*cos(HV(id)-2*pi/3)./cos(pi-HV(id)));

B(id)=3*IV(id)-(R(id)+G(id));

%BR Sector

id=find((4*pi/3<=HV)& (HV<2*pi));

G(id)=IV(id).*(1-SV(id));

B(id)=IV(id).*(1+SV(id).*cos(HV(id)-4*pi/3)./cos(5*pi/3-HV(id)));

R(id)=3*IV(id)-(G(id)+B(id));

Im3=cat(3,R,G,B);

Im3=max(min(Im3,1),0);

axes(handles.axes5);

imshow(Im3);

axes(handles.axes6);Im_3=rgb2gray(Im3);

imhist(Im_3,64);

  1. 运行结果及分析总结

处理前后效果图:

利用直方图均衡化的方法对图像进行增强,只是对像素分布进行的均衡处理。在均衡各色彩像素的同时,亦把图像中的各噪声分量也均衡化了,虽然实现了图像增强了作用,但不能很好的把图像中噪声分量完全消去。

在直方图均衡化之后再在HIS彩色模型中对图像的色调、色饱和度和亮度各个分量进行处理,能够很好的实现图像增强的目的。运用RGB模型与HIS模型之间的各个分量的相互转换的公式,可以很方便的对RGB彩色图像进行图像增强的操作,但是对单幅图像的增强操作,存在边缘和细节模糊的现象。

设计总结

大范围的雾、霾导致受污染城市的交通濒临瘫痪、户外工程项目、图像采集系统、遥感图像成像以及户外计算机视觉系统的正常运转等都受到了极大的影响。雾、霾的出现降低了场景的可见度,改变了捕获图像的色彩,降低了照片的对比度与清晰度,这也为后续的图像处理带来困难。因此,如何对图像进行有效去雾,恢复场景色彩在计算机视觉以及计算机图形图像学领域中就显得尤为重要。

在有雾天气条件下拍摄时,由于场景表面反射的光线受到空气中悬浮颗粒的散射而发生衰减,这导致了图像对比度的下降,同时场景周围环境中的光线也会被空气中的悬浮颗粒散射,散射后的光线进入成像设备又会导致图像颜色发生漂移,整体看上去图像很模糊,图像中的细节内容辨认不清并且颜色偏向灰白色。为了恢复出清晰的图像,需要从如下方面入手:

  1. 调整图像的颜色,使得图像的颜色看起来更自然;
  2. 增强图像的对比度,使图像中的细节变得更清楚。

七、参考文献

1 Rafael C. Gonzalez,Richard E. Woods.数字图像处理.电子工业出版社,2008.11

2 何凯明,孙剑,汤晓鸥.基于暗原色先验的单一图像去雾方法.香港中文大学.

3 王林方.MATLAB可视化界面设计.2010.4

4 MATLAB实现RGB与HIS的相互转换.

5 何家峰,王华香,崔苗,朱铮涛.图像处理与分析实验指导.广东工业大学.2006.6

6 《图像工程》上册 章毓晋 清华大学出版社

7 《MATLAB R2008 数字图像处理与分析实例教程》 赵书兰 化学工业出版社

8 《数字图像处理与分析(第二版)》 杨帆 北京航空航天大学出版社

MATLAB图像去雾处理相关推荐

  1. MATLAB图像去雾处理系统

    MATLAB图像去雾处理系统 设计目的 由于大气的散射作用,照相机接收到景物反射过来的光线经过了衰减.雾天的大气退化图像具有对比度低.景物不清晰的特点,给交通系统及户外视觉系统的应用带来严重的影响.. ...

  2. MATLAB图像去雾技术研究

    MATLAB图像去雾技术研究 基本任务及要求: 雾天拍摄的风景图片清晰度下降,而去雾技术可还原其本来面目,增加明艳度.而去雾技术的更重要应用在于卫星图片的清晰度增强. 设计要求: 介绍图像去雾的相关知 ...

  3. Matlab 图像去雾

    一.课题背景 雾,在很大程度上会降低能见度,因此在此情况下拍摄的图像对比度也会受到严重的影响.尤其是在智能化的今天,对于交通领域的影响表现的尤为明显.因此,找到应对这种自然现象造成的图像对比度减弱问题 ...

  4. MATLAB图像去雾自适应增强

    MATLAB图像去雾自适应增强 摘要:传统的单幅图像去雾方法中大气光强度仅设定为与图像最亮象素有关的经验值,容易造成去雾后的图像亮度偏暗,且某些区域色彩还原失真等问题.本文提出一种大气光强度自适应恢复 ...

  5. matlab图像去雾实现

    目录 一.课题意义 1 (一)研究意义 1 (二)研究现状 1 二.相关知识 4 (一)系统功能及简介: 4 (二)用到的知识 5 三.系统设计与实现 5 (一)实现条件 5 硬件条件:计算机 5 软 ...

  6. matlab 图像去雾算法,各种图像去雾算法

    2005.bmp 5.bmp 5_retinex.bmp Fast Visibility Restoration from a Single Color or Gray Level Image.pdf ...

  7. MATLAB可视化实战系列(二十五)-MATLAB基于直方图的图像去雾

    前言 直方图是图像的一种统计表达形式,在一定程度上能够反映数学图像的概貌性描述,包括图像的灰度范围.灰度分布.整幅图像的亮度均值.阴暗对比度等,并可以此为基础进行分析来得出对图像进一步处理的重要依据. ...

  8. 【matlab 图像处理】 guide 图像去雾系统

    matlab guide 快速入门 matlab GUI为用户图形化界面,可以使用guide命令进入图形化编辑界面 回车弹出GUIDE 快速入门,可以选择所需要的模板进行编辑,默认为Blank GUI ...

  9. 基于暗通道优先的单幅图像去雾算法(Matlab)

    基于暗通道优先的单幅图像去雾算法(Matlab) 每一幅图像的RGB三个颜色通道中,总有一个通道的灰度值很低,几乎趋向于0.基于这个几乎可以视作是定理的先验知识,作者提出暗通道先验的去雾算法. ​ 首 ...

  10. 图像增强及直方图均衡化在图像去雾上的应用(附matlab代码)

    一.图像增强技术介绍 简单进行一个背景介绍:图像增强就是将一幅图中需要的信息增强,消弱或去除不需要的信息的一种处理技术,可以达到改善图像质量的作用. 根据处理空间的不同,可以分为空域增强和频域增强两种 ...

最新文章

  1. MySQL索引类型一览 让MySQL高效运行起来
  2. XMLHttpRepuest2
  3. 关闭自动更新_Win10系统关闭自动更新方法
  4. sap中二级品报工问题解决方案
  5. 双塔模型在Airbnb搜索排名中的应用
  6. mysql php 乱码问题_解决php与mysql中文乱码问题
  7. Android学习之——ListView下拉刷新
  8. java窗体程序秒表,帮忙解释一个Java小程序(秒表)
  9. 微信 8.0 来啦,炸裂!
  10. 基于Python开发用于钞票认证的神经网络
  11. MIKE21学习总结(一)
  12. 芯片数据手册下载和阅读
  13. 2022年各省高考查分时间、入口汇总
  14. 经典算法:鸡蛋掉落问题
  15. 【Unity】脚本实现动态模型切割
  16. 苹果原壁纸高清_ios14.2壁纸原图高清分享:苹果ios14.2壁纸高清无水印[多图]
  17. pytorch之词嵌入(三)
  18. 初中计算机病毒教学流程图,3904000261《计算机病毒》(高中信息技术)教学设计方案...
  19. 一篇流水账,纪念金庸大侠
  20. 灵魂拷问:嵌入式行业真的没前途吗?

热门文章

  1. 华为eNSP-动态路由实验
  2. 大数据入门介绍和学习路线
  3. (笔记)涉及到的WinAPI函数
  4. 谭浩强版本C语言课后习题第二章
  5. Word2003中Visio2003图打印错误的解决方法
  6. ps手柄震动测试软件,PS3 可实现震动 用PS3手柄连接电脑图文教程 - 电玩巴士
  7. Net硅谷动力网站 http://www.enet.com.cn/
  8. java 限制文件大小_java上传文件大小限制
  9. Db4o数据库:快速入门
  10. 安卓手机端、PC电脑端的微信文件存储位置: