分页: 1 / 2

DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-06-14 12:00
Sakura2020
移植自 2013 年的论文 Optimized contrast enhancement for real-time image and video dehazing

绝赞开发中,支持 8-16bit RGB。但目前高位深的处理结果仍存在问题,16bit 的结果明显偏暗,9-15bit 看上去相对正常,谨慎使用。

Github | 下载:DehazingCE-r0.4

参数
core.dhce.Dehazing(clip src[, clip ref, float trans, float gamma, ...])

ref: 用于透射率估计,根据算法作者的原始代码,建议将输入缩放至 320 * 240 作为 ref,可以缓解亮度不均匀的问题,默认为 src
trans: 透射率初猜值,默认为 0.3
gamma: 亮度调整,用于缓解去雾后图像偏暗的问题,默认值为 1.5(r0.3 及之前版本默认值为 0.7)

其余参数重要性较低,具体含义见 Github README。

示例
(新版本示例在 Github 上)
图片

Change log
r0.2 添加 9-16 bit 支持
r0.3 修改了透射率估计过程,使用时建议设置 ref;修正整型溢出,改善 9-15 bit 偏暗的问题,16bit 仍有问题
r0.4 修改参数 gamma 的含义,在之前版本中,gamma 参数实际上是 1/gamma,修改为通常意义的 gamma

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-15 11:36
csgg
用这个发现画面不停闪烁,就是比较暗的区域,一直在闪,不知道是参数不对还是不适用用视频?

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-15 11:44
csgg
补充一下:8 RGB 处理,求指导。

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-20 9:26
Sakura2020
csgg 写了: 2020-07-15 11:36 用这个发现画面不停闪烁,就是比较暗的区域,一直在闪,不知道是参数不对还是不适用用视频?
是怎么样的闪烁,是类似块效应/马赛克的东西在闪吗?

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-20 11:10
csgg
脚本:
mport sys
import functools
import vapoursynth as vs
import mvsfunc as mvf
import havsfunc as haf


core = vs.get_core()
core.max_cache_size = 45000
ret = core.ffms2.Source(r'D:\vs\1.vob')
ret=core.std.Trim(ret,1000,3000)
ret=mvf.ToRGB(ret,matrix="601",full=False)
ret=core.dhce.Dehazing(ret,gamma=0.8,trans=0.1,post=True)
ret=mvf.ToYUV(ret,matrix="601",full=False)
ret.set_output()

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-20 11:13
csgg
一会传文件上来。

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-20 12:31
csgg
修改 {:doge}

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-20 12:35
csgg
gamma=0.8,trans=0.1,post=True 都调过了,还是一直闪 {:doge}

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-20 12:55
Sakura2020
csgg 写了: 2020-07-20 12:31 请大佬看一下,谢谢
[编辑]
我大概看到是怎么闪了,是类似下面这两张图片反复切换造成的闪的感觉吗

https://i.loli.net/2020/07/20/oaDXKVHgJBp1vGx.png
https://i.loli.net/2020/07/20/5rPas3NXE7d16Gy.png

Re: DehazingCE - 基于对比度增强的去雾滤镜

发表于 : 2020-07-20 13:31
Sakura2020
如果是这种闪烁的话,我一时也想不到解决办法
其实在处理单张图片时就可能有这个问题,只是图片不明显,在视频中明显了

在一楼的例子中就有轻微的类似现象,红圈的部分过亮,而周围部分则偏暗,在视频中可能表现为闪烁。
这应该是算法迁移的问题,可以点开一楼的链接看一下算法作者给出的处理结果,同一张图片,不存在上述问题。

解决的话...恐怕要等我发现问题出在哪才能解决了...不好意思...

Update:我找到了原因,原作者是将输入图像缩小后再进行透射率估计,我本意为这是为了节约计算量,但缩小后再估计,可以改善甚至避免上述问题(commit:39ac7ec

图片