暗通道去雾透射率t和场景深度d的关系

之前写过一篇散射模型的文章,上面有讲到散射和反射。
其实很多人搞不懂了,透射率和场景深度有啥关系???
仿佛没有关系,光通过的程度和拍摄物体的距离怎么就扯上关系了呢???
其实这里的从transmission翻译为透射率,已经有些失去原来的意义了。(看英文文献多么重要)
这里写图片描述
可以从字典的意思看出,t是和传递有关的,传递也就涉及到了距离,这里就可以解释我们所提到的场景深度了。
这里写图片描述

从三个公式看出关系

1.雾退化模型
这里写图片描述
2.反射
这里写图片描述
3.散射
这里写图片描述
这里就能够看出
这里写图片描述
也可以简单地认为是一个代换关系。

程序求解深度d

alpha=t;%%我们求得的transmission t
DepthMap=log(alpha)./Beta*(-1);%%Beta为散射系数,这里可以假设为0.1
figure(1), imshow(DepthMap,[]);
title(‘DepthMap’);colormap(‘hot’);%%让图像为热度图

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 暗通道是一种图像去算法,最早由He et al.(2009)提出,并在Matlab中得到实现。该算法基于以下原理:在大多数室外场景中,由于气的存在,景物颜色较浅且细节丢失;然而,通过观察可以发现,在大部分情况下,即使是在有的景物中,暗通道仍然存在较高的像素值。 实施该算法的步骤如下: 1. 读取化图像和相应的深度图像,并将其转换为灰度图像。 2. 通过计算每个像素点在各个颜色通道上的最小值得到暗通道图像。 3. 估计全局大气光照值。根据经验,暗通道中像素值最高的一部分图像区域通常对应于大气光照,因此可以通过选取这部分区域的高亮像素进行估计。 4. 根据估计的大气光照值和场景深度来恢复场景颜色。首先,通过除以估计的大气光照值得到去场景透射率;然后,使用透射率来恢复去场景的颜色。 5. 将恢复的去场景与原始的化图像进行融合,以获得最终的去结果。 使用Matlab进行暗通道的实现时,可以利用图像处理工具箱提供的函数和工具进行图像的读取、处理和显示。同时,也可以自定义函数和脚本来实现算法的各个步骤。Matlab提供了丰富的图像处理函数和工具,方便进行像素级别的操作和图像的可视化。通过调用这些函数和工具,我们可以较为方便地实现暗通道算法,并对结果进行分析和评估。 ### 回答2: 暗通道是一种图像去算法,它利用图像中场景中存在的暗区进行去处理。在matlab中,我们可以通过以下步骤实现暗通道。 首先,我们需要加载原始带图像,并将其转换为浮点数形式。接着,我们计算输入图像的暗通道暗通道可以通过在图像的每个像素位置上选择该位置周围一个小窗口(例如3x3窗口)的最小通道值来获得。这可以用matlab的imfilter函数来实现。 接下来,我们通过使用暗通道得到的最小值来估计原始场景中的大气光值。一种常用的估计方法是在原始图像的前1%到10%的像素值中选择最暗的像素,并将其作为大气光值。在matlab中,我们可以使用函数prctile来实现。 然后,我们需要估计透射率,它表示光线在通过气时的衰减程度。透射率和大气光之间存在一个简单的关系,即t(x) = 1 - w * minCH / A,其中t(x)是透射率,w是一个常数(通常设置为0.95),minCH是暗通道图像,A是估计的大气光值。使用这个关系,在matlab中可以很容易地推导出透射率。 最后,我们可以使用透射率来去除图像中的气。具体地说,我们可以使用如下公式来恢复场景中的无图像:J(x) = ([I(x) - A]/max(t(x), t0)) + A,其中J(x)是去后的图像,I(x)是输入带图像,A是估计的大气光值,t(x)是估计的透射率,t0是一个小的正数(以防止分母为零)。在matlab中,我们可以很容易地使用这个公式来进行计算。 通过以上步骤,我们可以使用matlab实现暗通道算法,并得到去后的图像。这种方法对于恢复气影响的图像有很好的效果,但对于涉及高反射或太阳光的图像效果不佳。 ### 回答3: 暗通道是一种常用的图像去方法,在matlab中可以通过以下步骤实现。 首先,读入含有的图像。可以使用matlab中的imread函数读取图像文件,将其存储为一个矩阵。 然后,计算图像的暗通道暗通道是指图像中不同区域中亮度最小的像素值。可以通过先将图像转换为灰度图像,然后对每个子区域计算最小值来获得每个像素的暗通道。使用matlab中的imdilate函数可以方便地对图像进行膨胀操作。 接下来,估计大气光强度。大气光强度可以通过暗通道中最亮的像素值获得。通过访问暗通道矩阵,找到最亮的像素值并确定其位置,然后通过在原图像中获取该位置的像素值来估计大气光强度。 然后,计算传输率。传输率是指对图像的影响程度,可以根据暗通道和大气光的估计值来计算。传输率通常采用一个经验常数来调整。 最后,根据传输率,估计图像中的浓度,并进行去操作。通过将每个像素根据传输率进行调整,即可去除图像中的霾。 通过以上步骤,在matlab中可以实现暗通道。需要注意的是,暗通道方法对于一些特殊情况,如大面积均匀以及光照变化较大的图像可能效果不好,因此可以结合其他方法进行改进或者调整参数以提高效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值