您的位置:首页 > 其它

黑白图像的图像增强

2014-10-20 17:10 197 查看
黑白图像的图像增强



这里会出现过度增强的问题(天空部分)。

function ret = HE_for_BW(Image)

if size(Image,3) ~= 1
fprintf('ERROR Imput-Image must be three channel image\n');
return;
end

Height_Image = size(Image,1);
Width_Image = size(Image,2);
Img_Output = zeros(Height_Image,Width_Image);

Histgram = zeros(1,255);

for row = 1: Height_Image
for col = 1: Width_Image

if Image(row,col) == 0
Image(row,col) = 1;
end

Histgram(uint8(Image(row,col))) = Histgram(uint8(Image(row,col))) + 1;
end
end

Probability_density = Histgram./(Height_Image*Width_Image);

max_value = max(max(Image));
min_value = min(min(Image));

Probability = zeros(1,255);

for temp = 1: size(Probability_density,2)
if temp == 1

Probability(temp) = Probability_density(temp);

else
Probability(temp) = Probability(temp - 1) + Probability_density(temp);
end
end

for row = 1: Height_Image
for col = 1: Width_Image

Img_Output(row,col) = min_value + (max_value - min_value)*Probability(uint8(Image(row,col)));

end
end

ret = Img_Output;
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: