最近刚开始学图像处理方面的知识,对很多专业名词都并不了解,所以记录一下这方面的知识:

通常彩色图像都包括三个通道,即RGB三通道,也可以理解而成一张图片又三层同样大小的RGB(光学三原色:红绿蓝)三色堆叠而成,而图片实质上是由一个个像素组成的,对应于RGB三色来说,每一种颜色都是由这三原色组合而成,比如红色为(255,0,0),绿色为(0,255,0),粉红为(255,192,203),也就是说一张彩色图片中的每个像素都是以这种形式来表示的。

那么我们通常所说的暗通道,即清晰无雾的图片中除天空区域(因为天空区域或者白色区域和雾的特征较为接近)外的任一局部区域像素至少有一个通道值很低,几乎趋近于零。
那如何求暗通道呢,我们在上面的代码中已经做了详细的说明,便是先求每个像素在三个通道中的最小值,然后得到一张与原始图像大小一致的灰度图,然后再使用最小值滤波进行平滑处理,即在得到的灰度图中,以每一个像素为中心取一定大小的矩形窗口(本文为15x15),取矩形窗口中灰度值的最小值代替中心像素的值,从而得到原始图像对应的暗通道图像。(求暗通道过程中要计算两次最小值)

何博士的基于暗通道先验的单幅图像去雾中的部分代码:

clear all;
I=imread('xxxx\dehazing.png');  %读取图片
I=double(I);  %将读入图像I的uint8数据转换为double类型的数据
I=I./255;  %将像素值转换到0~1之间
dark=darkfunction(I);subplot(1,2,1);imshow(I);
subplot(1,2,2);imshow(dark);  %展示雾图和对应的暗通道function [dark] =darkfunction(I)
R=I(:,:,1);  %将I的第一层赋值给R,下面的G、B分别为I的第二、三层
G=I(:,:,2);  %三个参数分别代表行、列和层
B=I(:,:,3);
[m,n]=size(R); %size求取矩阵大小,返回其行列值,即m、n
a=zeros(m,n);  %zeros返回 m x n 大小的零矩阵
for i=1:m   %i从1开始一直循环到mfor j=1:na(i,j)=min(R(i,j),G(i,j));a(i,j)=min(a(i,j),B(i,j));end;
end;
%整个for循环就是求取所有像素的RGB三通道(层)中的最小值,最后得到
%一副和原始图像同样大小的灰度图,即单通道图像
d=ones(15,15); %ones产生15x15的全1矩阵
fun=@(block_struct)min(min(block_struct.data))*d; %最小值滤波
%@(block_struct)为装饰器函数,block_struct.data表示传入的数据(图片或者矩阵)
dark=blockproc(a,[15,15],fun); %blockproc为分块矩阵处理函数
dark=dark(1:m,1:n);
end

图像去雾学习(一):“暗通道”是什么相关推荐

  1. Python 还能实现图片去雾?FFA 去雾算法、暗通道去雾算法用起来!(附代码)...

    授权自AI科技大本营(ID:rgznai100) 本文约3600字,建议阅读7分钟. 本文为你介绍FFA去雾算法和暗通道去雾算法搭建. 在过去的几十年中,单图像去雾作为基本的低级视觉任务已引起了计算机 ...

  2. Python 还能实现图片去雾?FFA 去雾算法、暗通道去雾算法用起来! | 附代码

    在过去的几十年中,单图像去雾作为基本的低级视觉任务已引起了计算机视觉社区和人工智能公司的越来越多的关注.其中最为典型的便是北大&北航提出FFA-Net去雾新网络和何凯明博士提出的暗通道去雾算法 ...

  3. [论文阅读] (11)ACE算法和暗通道先验图像去雾算法(Rizzi | 何恺明老师)

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  4. [Python图像识别] 四十六.图像预处理之图像去雾详解(ACE算法和暗通道先验去雾算法)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  5. 基于Matlab暗通道图像去雾处理

    基于Matlab暗通道图像去雾处理 一.简介 何恺明的暗通道先验( dark channel prior)去雾算法是CV界去雾领域很有名的算法,关于该算法的论文"Single lmage H ...

  6. 图像去雾算法(二)基于暗通道先验算法学习笔记

    在http://write.blog.csdn.net/postedit/78301999中介绍了图像去雾的相关研究方法,发现目前为止在图像去雾方面,何凯明博士基于暗通道先验的算法具有很好的效果,关于 ...

  7. 暗通道优先的图像去雾算法(上)

    FROM:http://blog.csdn.net/baimafujinji/article/details/27206237 11.1  暗通道优先的图像去雾算法 图像增强与图像修复二者之间有一定交 ...

  8. 暗通道优先的图像去雾算法(下)

    FROM:http://blog.csdn.net/baimafujinji/article/details/30060161 书接上文 http://blog.csdn.net/baimafujin ...

  9. 纯c语言实现的改进暗通道去雾算法测试程序(附赠大量测试图像),基于改进暗通道先验算法的图像去雾...

    邱清辉 摘要:针对普通暗通道先验算法去雾能力的不足,本文提出了一种改进算法,通过采用高斯平滑将原图像分为基础子图和细节子图,基础子图采用暗通道先验算法,细节子图采用gamma变换方法,再采用图像融合进 ...

最新文章

  1. mysql sa密码是什么_忘记mysql数据库root密码
  2. 使用 vscode 调试前端代码
  3. qsort函数的用法
  4. java获取昨天日期
  5. HOOK技术-满足我们程序的偷窥欲
  6. 文艺青年的两门必修课——绘画与音乐
  7. Java集合(一):Java集合概述
  8. python中的@、-、*arg、**kwarg使用方法[探索1]
  9. lecture2-NN结构的主要类型的概述和感知机
  10. vc++中进程通信之剪贴板常用函数
  11. keySet和entrySet效率比较
  12. 如果你不会扒谱,来吧,这款软件给你超能力
  13. 谈USB重定向的方式
  14. Java实现pdf打印文件
  15. mysql健康档案管理系统_益康居民健康档案管理系统(网络版)
  16. KUKA库卡机器人零点失效维修案例
  17. 用新华字典来彻底解释清:数据库索引到底是什么
  18. 基于大数据的能力开放平台解决方案
  19. .py文件与.ipynb文件互相转换
  20. 死亡之雨新的僵尸病毒中文破解版 v1.0绿色免安装版

热门文章

  1. 关于分压电阻的大小对交流波形的分析
  2. MIPI D-PHY M-PHY C-PHY
  3. 【重装win10系统】使用软碟通制作启动盘
  4. 一周极客热文:Java 8简明教程
  5. 深聊丨第四范式陈雨强:如何用AI大模型打开万亿规模传统软件市场?
  6. python-布尔值取反
  7. java 路径规划_转 | 禁忌搜索算法(Tabu Search)求解带时间窗的车辆路径规划问题详解(附Java代码)...
  8. anaconda3下装pytorch
  9. 使用flex实现圣杯布局,就是这么简单
  10. 解释任何ML模型?--关于XAI的目标和能;基于梯度的动态RRAM阵列神经形态学习;SARNet:大规模城市点云的语义增强注册;基于加权一致性指数损失的多模式生存模型在鼻咽癌放疗放射性脑病评估中的应用