图像质量评估的亮度顺序误差(LOE) - Matlab

时间:2016-06-02 15:23:17

标签: matlab

我试图实现文章中提出的LOE度量"非均匀照明图像的自然保留增强算法"

算法如下: 让我成为原始图像,即增强图像。轻盈 图像I的 L(x,y)是其三个颜色通道的最大值:

  

L(x,y)= max Ic(x,y); c∈{R,G,B}

Le(x,y));

然后对于每个像素(x,y),我们计算 RD(x,y)定义为:

  

RD(x,y)= Sum(和(U(L(x,y),L(i,j))⊕U(Le(x,y),Le(i,j))))< / p>      

其中i = {1..n}; J = {} 1..M

m n 是图片的大小, U(x,y)= 1 if(x&gt; = y)和0否则。

最后

  

LOE = sum(sum(RD))/ size(I)

为了保持计算简单,作者使用因子 r = 50 / min(m,n)对图像进行下采样。<​​/ p>

我为附加图像获得的结果等于 467.2846 ,而它应该在 1.17 附近。 我在这里发布我的代码:

I = imread('birds.jpg'); % original image
Ie = imread('birds_output.jpg'); % enhanced image

[N M n] = size (I);

L = max(I,[],3);
Le = max(Ie,[],3);

r = 50 / min (M,N);
Md = round(M*r);
Nd = round(N*r);
Ld =imresize(L,[Nd Md]);
Led =imresize(Le,[Nd Md]);

RD = zeros (Nd,Md);
size (RD)

for y = 1:Md
    for x = 1:Nd

        E = xor((Ld(x,y)>=Ld(:,:)),(Led(x,y)>=Led(:,:)));
        RD(x,y) = sum(E(:));

    end
end
LOE = sum(RD(:))/(Md*Nd);

此外,我使用的图像:

提前感谢您的帮助。

0 个答案:

没有答案