• 回答数

    4

  • 浏览数

    235

小演员王沁曦
首页 > 学术论文 > 图像去雾毕业论文百度文库

4个回答 默认排序
  • 默认排序
  • 按时间排序

永创佳绩

已采纳

function dark = darkChannel(imRGB)r=imRGB(:,:,1);g=imRGB(:,:,2);b=imRGB(:,:,3); 分别提取三色的灰度图[m n] = size(r); 提取单色图矩阵的宽度和长度a = zeros(m,n); 创建m*n的零矩阵afor 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)); 依次比较三色分量的最小值提取为暗通道图endendd = ones(15,15); 创建15*15的单位矩阵fun = @(block_struct)min(min())*d; dark = blockproc(a, [15 15], fun); 将图片分成15*15的小块并将每一块变成其中的最小值dark = dark(1:m, 1:n);我也是新手啊兄弟只能帮你到这儿了

216 评论

无敌小肉

这个哈解决的,要求告诉我

205 评论

等等等二爷de22

姓名:张昊楠    学号:21021210691    学院:电子工程学院 【嵌牛导读】简要介绍暗通道先验理论基础 【嵌牛鼻子】图像处理 图像去雾 【嵌牛正文】:         暗通道先验理论是何凯明基于对大量户外无雾图像的观察所得到的统计规律:在大多数不包含天空区域的图像中,存在一些像素点,这些像素点中至少有一个通道的值有非常低的值。如果将无雾图像用J表示,那么图像的暗通道可以表示为: 式中Ω(x)表示以像素点x为中心的方形窗口。暗通道图像即为对原图作最小值滤波。     根据暗通道先验理论,在没有雾的户外图像中,除天空区域外,其暗通道趋向于零,即: 造成暗通道图像亮度低的原因一般包括图像中的阴影区域,颜色鲜艳的物体以及本身就比较暗的物体。         一般来说,一张含雾霾的图片往往比没有雾霾的图片更亮。在雾霾越厚的地方,其暗通道像素值越高。根据暗通道先验理论,我们可以认为,含雾图片中暗通道的亮度大致接近雾霾的厚度。        图1是一幅无雾图和它的暗通道图像,图2是一幅有雾图和它的暗通道图像。通过对比可以发现,图1的暗通道图几乎全部是黑色,图2的有雾图像白色区域明显较多,且原图中雾越浓,暗通道图像对应的区域越亮。雾天图像的暗通道图像亮度值可以很好地反映雾的浓度。根据这一点,我们可以通过暗通道图像来估计雾的浓度。         下面介绍如何利用暗通道先验理论对图像进行去雾:         在一些关于图像去雾的方法中,一般将图像中像素的最大值作为大气光的估计值。但在实际的图片中,最亮的像素点可能是白色的背景墙或者白色的汽车。所以利用原图最亮的像素点作为大气光的强度有时会产生较大误差。         如第1节介绍的那样,雾霾图像暗通道亮度近似等同于雾霾厚度,所以可以利用图像的暗通道的亮度来更准确估计整体大气光。整体大气光的估计方法如下:         首先取暗通道图像中千分之一个最亮的像素点;然后找到这些像素点对应在原彩色图像中的位置;最后,在原彩色图像中的这些位置里面找到亮度最大的点,作为大气光强的估计值。实际操作中,这种方法比“最亮像素法”更具有更高的稳定性。         对大气散射模型变形,有        假设在区域 中,透射率t(x)是一个常数,记为 。对上式两端作两次最小值滤波,第一次对等式两端R,G,B三个通道取最小值,第二次滤波对以目标像素点为中心的方形区域内取最小值作为该像素点的值,公式表示如下所示: 根据暗通道先验理论: 将2-3式代入2-2式,可以求得透射率 实际生活中,即使是在晴朗的天气下也会不可避免地在空气中存在一些杂质分子。而且,雾的存在可以帮助我们更好获取景深信息,这种现象就是我们所说的空间透视。如果将雾完全除掉的话,景深信息也会丢失,这样一来,复原出的图像会显得不自然。所以在实际操作时,我们会选择保留一部分覆盖远景的雾。为此,引入参数,对2-4式作出调整,得到修正后透射率的表达式: w越大,表示去雾效果越好。当w=0时,透射率恒为1,复原结果图即为原图;当w=1时,表示雾霾全部去除。这里,为保留一定的景深信息,令w=。         根据上述方法,我们已经求出了大气光强和透射率信息,对大气散射模型作恒等变形,利用(2-6)式在图像的R,G,B三个通道分别进行计算即可得到复原后的无雾图像。         透射率t(x)是一个介于0和1之间的值,当t(x)的某个值为0时,根据上述公式,所得到的图像对应点的像素值则趋向于无穷大,这是我们不希望看到的。所以,为了避免这种情况的发生,我们引入限制透射率阈值的参数 ,以此来控制透射率的下限,则修正后的表达式为:复原效果图:        从图中可以看出,虽然利用上述方法实现了去雾的效果,但效果并不理想。在天安门与天空连接的边缘部分,会有明显的带状区域产生,这种现象我们称之为光晕效应。经过对比发现,滤波窗口的半径越大,光晕效应越明显。这是因为,我们最初的假设是透射率 在以某一像素点为中心的 为半径的区域内是常数,这种假设在图像的平滑区域是成立的,但在景深突变的边缘处,这种假设并不成立。在边缘部分的透射率信息和实际有一定的误差,我们称这个透射率是粗糙的。因此,为取得更加理想的去雾效果,需要进一步对计算出的透射率 进行细化处理。         在后续的文章中,我们将会介绍一些方法对透射率进行细化,用以抑制光晕效果的产生。      K. He, J. Sun and X. Tang, "Guided Image Filtering,"in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 35, , pp. 1397-1409, June 2013, doi: .

198 评论

pinguo0911

%%%%暗原色去雾算法是建立在户外自然场景暗通道优先法则的基础上的去雾方法,其实就是解一个方程%%I(x)=J(x)t(x)+A(1-t(x));其中I(x)是受到雾气污染的图像。J(x)是我们需要求的去雾后的图像%%t(x)是天空中云层的透射分布率,A是天空的亮度%暗影去雾算法% 原始图像img_name = imread('C:\Users\Administrator\Desktop\桌面文件\专业课\设计\');I = double(img_name) / 255;% 获取图像大小[h,w,c] = size(I);%去雾系数w0 = ;img_size = w * h;%初始化结果图像dehaze = zeros(h,w,c);%初始化暗影通道图像win_dark = zeros(h,w);for i=1:h for j=1:wwin_dark(i,j)=min(I(i,j,:));%将三个通道中最暗的值赋给dark_I(i,j),显然,三维图变成了二维图endendwin_dark = ordfilt2(win_dark,1,ones(9,9),'symmetric');%计算大气亮度A,相关原理详见论文“Single Image Haze Removal Using Dark Channel Prior”dark_channel = win_dark;A = max(max(dark_channel));[i,j] = find(dark_channel==A);i = i(1);j = j(1);A = mean(I(i,j,:));%计算初始的transmission maptransmission = 1 - w0 * win_dark / A;%用guided filter对trasmission map做soft mattinggray_I = I(:,:,1);%这里gray_I 可以是RGB图像中任何一个通道p = transmission;r = 80;eps = 10^-3;transmission_filter = guidedfilter(gray_I, p, r, eps);t0=;t1 = max(t0,transmission_filter);for i=1:cfor j=1:hfor l=1:wdehaze(j,l,i)=(I(j,l,i)-A)/t1(j,l)+A;endendendfigure,imshow(I);title('去雾前')figure,imshow(dehaze);title('去雾后')%里面用到的两个函数如下:(这两个函数是何凯明guided filter中的,详细原理可以参考博客园中laviewpb的分析)function q = guidedfilter(I, p, r, eps)% GUIDEDFILTER O(1) time implementation of guided filter.%% - guidance image: I (should be a gray-scale/single channel image)% - filtering input image: p (should be a gray-scale/single channel image)% - local window radius: r% - regularization parameter: eps[hei, wid] = size(I);N = boxfilter(ones(hei, wid), r); % the size of each local patch; N=(2r+1)^2 except for boundary = boxfilter(I, r) ./ N;mean_p = boxfilter(p, r) ./ N;mean_Ip = boxfilter(I.*p, r) ./ N;cov_Ip = mean_Ip - mean_I .* mean_p; % this is the covariance of (I, p) in each local = boxfilter(I.*I, r) ./ N;var_I = mean_II - mean_I .* mean_I;a = cov_Ip ./ (var_I + eps); % Eqn. (5) in the paper;b = mean_p - a .* mean_I; % Eqn. (6) in the paper;mean_a = boxfilter(a, r) ./ N;mean_b = boxfilter(b, r) ./ N;q = mean_a .* I + mean_b; % Eqn. (8) in the paper;endfunction imDst = boxfilter(imSrc, r)% BOXFILTER O(1) time box filtering using cumulative sum%% - Definition imDst(x, y)=sum(sum(imSrc(x-r:x+r,y-r:y+r)));% - Running time independent of r; % - Equivalent to the function: colfilt(imSrc, [2*r+1, 2*r+1], 'sliding', @sum);% - But much faster.[hei, wid] = size(imSrc);imDst = zeros(size(imSrc));%cumulative sum over Y axisimCum = cumsum(imSrc, 1);%difference over Y axisimDst(1:r+1, :) = imCum(1+r:2*r+1, :);imDst(r+2:hei-r, :) = imCum(2*r+2:hei, :) - imCum(1:hei-2*r-1, :);imDst(hei-r+1:hei, :) = repmat(imCum(hei, :), [r, 1]) - imCum(hei-2*r:hei-r-1, :);%cumulative sum over X axisimCum = cumsum(imDst, 2);%difference over Y axisimDst(:, 1:r+1) = imCum(:, 1+r:2*r+1);imDst(:, r+2:wid-r) = imCum(:, 2*r+2:wid) - imCum(:, 1:wid-2*r-1);imDst(:, wid-r+1:wid) = repmat(imCum(:, wid), [1, r]) - imCum(:, wid-2*r:wid-r-1);end

222 评论

相关问答

  • 毕业论文上百度文库

    可能有人传的嘛

    520mengcheng 8人参与回答 2023-12-06
  • 医学影像技术毕业论文百度文库

    医学影像诊断学是医学影像学中的一门重要学科,而医学影像学是临床医学的一个重要分支。下面是我为大家整理的医学影像技术专业 毕业 论文,供大家参考。 《 高职影

    誓吥錵訫 3人参与回答 2023-12-11
  • 百度地图毕业论文

    不可以。毕业论文里有很多中国地图是不可以的,涉及中国地图的插图很多,需要具体的说出是什么地图。

    苏州小迷糊 4人参与回答 2023-12-11
  • 图像去雾霾方法研究论文

    在浓雾天气下,针对基于常规偏振特性去雾算法去雾效果不理想的特点,提出了一种基于暗原色先验原理的颜色空间转化算法去除偏振图像的浓雾。相比传统的成像技术,偏振图像探

    梧桐春雨 4人参与回答 2023-12-06
  • 数字图像处理去噪毕业论文

    ③在弹出的对话框里,可以单击“Preset”下的选项,选择设置噪音的消除模式。也可以通过拖动滑块来设置消除噪音大小,左面的滑快代表噪音的最低限度,滑块越往上去除

    乌龟宝宝28 7人参与回答 2023-12-06