在图像处理中如何将图像的对比度修改为修改后的自动对比度图像



自动对比度的代码如下,如何修改这段代码来修改自动对比度

for i=1:r
 for j=1:c
    a = I(i,j);   // Original Image intensity value assign to a
    if a<alow
        a1=amin;
    elseif a>ahigh
        a1=amax;
    else
        a1 = amin +((a - alow) * ((amax - amin) / (ahigh - alow)));
    end       
    J(i,j) = a1;
 end
 end

如果我说对了,你想要拉伸亮度水平,这样它的最小值将被映射到0,它的最大值将被映射到255(注意,你的第2个if将永远不会被使用)。

代码应该是:

mInputImage = imread('SomeGrayScaleImage.png');
mInputImage = double(mInputImage) / 255;
inputImageMinVal = min(mInputImage(:));
inputImageMaxVal = max(mInputImage(:));
mOutputImage = (mInputImage - inputImageMinVal) / (inputImageMaxVal - inputImageMinVal);

这里是自动对比代码。

你必须用K=255和你的图像

来调用这个函数
 function I=autoContrast(I,K)
if length(size(I))==3
    I=rgb2gray(I);
end
[r,c]=size(I);
amin=0;
amax=K-1;
alow=min(min(I));
ahigh=max(max(I));
for x=1:r
    for y=1:c
        a=I(x,y);
        a1=amin+(a-alow)*((amax-amin)/(ahigh-alow));
        I(x,y)=a1;
    end
end

最新更新