“暗通道”到底是个什么东西

本文介绍了图像去雾中的暗通道先验(DCP)概念,探讨了暗通道的定义及其求取过程。通过代码示例展示了如何在MATLAB中计算暗通道,并解释了最小值滤波的作用。此外,文章对比了有雾图像与清晰图像的暗通道效果,帮助读者理解暗通道在图像去雾中的应用。
摘要由CSDN通过智能技术生成

对于图像去雾领域的研究者来说,何凯明博士的“暗通道先验(DCP)”可谓是奉若圭臬,接触这个概念一年了,但一直没有深挖,一直都是“拿来主义”,看大家粗略地一概而过,今天一时兴起,想着小搞一波,咱们就稍微深入一点,看看这个神奇的“暗通道”到底是个什么东西。

先来一段经典的代码吧,何博士的基于暗通道先验的单幅图像去雾中的部分代码,本人做了详细的注释,应该是可以看懂的:

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开始一直循环到m
    for j=1:n
        a(i,j)=min(R(i,j),G(i,j));
        a(i,j)=min(a(i,j),B(i,j));
    end;
end;  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyond_LH

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值