0

我在这里需要一些帮助.. 如何使用 matlab 创建此应用程序.. 使用自适应对比度增强的图像增强.. 这是我将遵循的建议方法..

这里提出的方法以受控和局部的方式使用 HE 来拉伸暗图像中的细节,同时提高更亮图像的整体对比度。由于在每一帧中产生的局部自适应效果,它被称为自适应对比度增强 (ACE)。所提出的算法首先将亮度水平的直方图划分为三个区域——暗、中和亮。这些区域大小相同。然后使用 HE 独立处理这三个区域中的每一个。

我仍然没有得到对每个区域使用直方图均衡的解决方案..我得到了正常直方图均衡的代码......这是我的代码..

K = handles.GRAY;

numofpixels=size(K,1)*size(K,2);

L=uint8(zeros(size(K,1),size(K,2)));
freq=zeros(256,1);
probf=zeros(256,1);
probc=zeros(256,1);
cum=zeros(256,1);
output=zeros(256,1);

%freq counts the occurrence of each pixel value.

%The probability of each occurrence is calculated by probf.

for i=1:size(K,1)
    for j=1:size(K,2)
        value=K(i,j);
        freq(value+1)=freq(value+1)+1;
        probf(value+1)=freq(value+1)/numofpixels;
    end
end

sum=0;
no_bins=255;

%The cumulative distribution probability is calculated. 

for i=1:size(probf)
   sum=sum+freq(i);
   cum(i)=sum;
   probc(i)=cum(i)/numofpixels;
   output(i)=round(probc(i)*no_bins);
end

for i=1:size(K,1)
    for j=1:size(K,2)  
      L(i,j)=output(K(i,j)+1);     
    end
end

axes(handles.axes3);
imshow(L);

axes(handles.axes4);
imhist(L);
4

0 回答 0