[問題] 直方圖等化亮度調整

作者: kuc6811 (Mr.洋芋)   2014-09-28 18:41:59
想請教各位高手
小弟最近在寫有關直方圖等化亮度調整方面的
主要是要讓過暗的圖片可以變成正常的亮度
以下是我寫的內容
clc, clear all;
i=imread('Lenna_dark.jpg'); % Read image
image(i);
R=i(:,:,1);
G=i(:,:,2);
B=i(:,:,3);
% Convert RGB to YUV
Y = 0.299*R + 0.587*G + 0.114*B ; % Intensity, Luminance
U = -0.147*R - 0.289*G + 0.436*B;
V = 0.615*R - 0.515*G - 0.100*B; % Color Differences, Chrominance
for i=0:(512*512-1)
if Y(i)>=0 && Y(i)<10;
Y(i) = 1.1*Y(i);
elseif Y(i)>=10 && Y(i)<20
Y(i) = 1.09*Y(i);
elseif Y(i)>=20 && Y(i)<30
Y(i) = 1.08*Y(i);
elseif Y(i)>=30 && Y(i)<40
Y(i) = 1.07*Y(i);
elseif Y(i)>=40 && Y(i)<50
Y(i) = 1.06*Y(i);
elseif Y(i)>=50 && Y(i)<60
Y(i) = 1.05*Y(i);
elseif Y(i)>=60 && Y(i)<70
Y(i) = 1.04*Y(i);
elseif Y(i)>=70 && Y(i)<80
Y(i) = 1.03*Y(i);
elseif Y(i)>=80 && Y(i)<90
Y(i) = 1.02*Y(i);
elseif Y(i)>=90 && Y(i)<100
Y(i) = 1.01*Y(i);
elseif Y(i)>=100 && Y(i)<110
Y(i) = 1.009*Y(i);
elseif Y(i)>=110 && Y(i)<120
Y(i) = 1.008*Y(i);
else
Y(i) = Y(i);
end
end
% Convert from YUV to RGB
R = Y + 1.140*V;
G = Y - 0.395*U - 0.581*V;
B = Y + 2.032*U;
% Convert RGB back to image
output(:,:,1)=R;
output(:,:,2)=G;
output(:,:,3)=B;
image(output)
不過執行完跑不出修改後的圖片
請問是哪裡出了問題嗎
作者: gozelee   2014-09-28 22:15:00
image(uint8(output))

Links booklink

Contact Us: admin [ a t ] ucptt.com