Matlab中的反Halo算法

时间:2016-03-07 13:33:33

标签: matlab artifacts halo

我正在寻找从位于LAB色彩空间中的图像中删除不需要的光晕瑕疵。

所以我的问题是:鉴于我在Lab-Colorspace中的图像,高斯模糊的L通道I(模糊),锐化的L通道I(清晰),以及由此产生的锐化的原始L通道I(结束)

如何从我生成的锐化的原始I(结束)中分散Halo-Artifacts,那不可能存在?

I(端)= I + Y *(I-I(模糊));

原始图片

enter image description here

使用高斯滤镜锐化图像后出现光晕。我一直在寻找有用的尝试。正如有人在这里写的那样渐晕不等于Halo-Artifacts。

因此,我希望实现一种在我的图片中仅使用L(uminance)-Channel的算法。

以下是我得到的:

enter image description here

这是锋利的面具我(锐利)= I-I(模糊)。正如你所看到的,在建筑物和天空的过渡处产生了闪电。我该如何设法删除这些工件?无论如何我还可以过滤它们吗? mayybe另一个高斯过滤器? enter image description here

到目前为止,我的MATLAB代码已经出现,导致晕圈伪影。

imageOrig = imread('HinduTemple_Small.tif');
imdisplay(imageOrig, 'RGB  orginial',1);
[x,y,u]=size(imageOrig);
% Umwandeln in XYZ
simXYZ = imColorTransform (imageOrig,'ICCProfiles/AdobeRGB1998.icc',   
'*XYZ');

%Umwandeln von XYZ zu Lab
labOrig = imXYZ2Lab (simXYZ);
 labSharpened=labOrig; 

%Separieren des Luminance-Channels
lChannel=labOrig(:,:,1);

%Erzeugen eines Tiefpass-Filters, ich habe mich für einen Gaussfilter
%entschieden, da dieser eine zuverlässige Filterung im Gegensatz zum
%Average-Filter verspricht, siehe hierzu 
%https://de.wikipedia.org/wiki/Gleitender_Mittelwert#/media  
 /File:FrequenzSweepGlMWBinomial7.png

h = fspecial('gaussian', [100 100], 100);
lChannelFilter = imfilter(lChannel, h);
Gamma=0.5;
LChannelSharp=lChannel-lChannelFilter;
LChannelSharp= LChannelSharp;
lChannelnew=lChannel+Gamma*LChannelSharp;

labSharpened(:,:,1)=lChannelnew(:,:);
RGBSharp=imColorTransformMac(AntihalolabSharpened,'*Lab','ICCProfiles/AdobeRGB1998.icc');
 imdisplay(Sharp, 'RGBsharpened with HALO local Contrasted',1);

0 个答案:

没有答案