自适应对比图像计算

时间:2014-01-30 02:27:15

标签: matlab

我想使用matlab中的公式计算自适应图像对比度

Ca(i,j)=A*C(i,j)+(1-A)*Imax(i,j)-Imin(i,j)

,其中

C(i,j)=Imax(i,j)-Imin(i,j)/Imax(i,j)+Imin(i,j)

A=(Std/128)^y

C(i,j)表示图像像素(i,j)的对比度,Imax(i,j)和Imin(i,j)表示(i,i)的局部邻域窗口内的最大和最小强度。 j),窗口大小分别为

3.(Imax(i, j ) − Imin(i, j )) 

是指归一化为[0,1]的局部图像梯度。“A”是局部对比度和基于文档图像统计信息控制的局部梯度之间的权重。“Std”表示文档图像强度标准偏差,'y'​​是预定义的参数,参数'y'应设置为1。

1 个答案:

答案 0 :(得分:0)

使用im2col matlab函数,您可以将每个像素邻域重新排列为新DxN矩阵的列,其中D是邻域的像素数,N是图像的像素数。所以,你可以这样做:

%Assuming you have your image in the I variable,
%and [Dr,Dc] is the neighborhood size

[Nr,Nc] = size(I);
Inew = im2col(padarray(I,floor([Dr,Dc]/2),NaN),[Dr Dc]);
Imax = reshape( max(Inew,[],1), [Nr,Nc] );
Imin = reshape( min(Inew,[],1), [Nr,Nc] );

有了这个,您应该能够正常计算C和Ca.

此致