基于matlab 的gamma校正
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于matlab 的gamma校正
一、gamma校正的原理
其原始图像产生了失真,失真程度有具体系统的gamma值决定,通过相应的软件对图像数据进行预补偿,再送入CRT 显示。
二、分析
原图如下:
I=imread('aaa.jpg');
subplot(2,2,1);
imshow(I);
title('aaa');
[m,n,k]=size(I);
r=zeros(m,n,k,'uint8');
gama=0.8;
p=255/255^(gama);p=(1/p)^(1/gama);
for i=1:m
for j=1:n
for l=1:k
r(i,j,l)=floor(p*double(I(i,j,l))^(1/gama));
end
end
end
subplot(2,2,2);
imshow(r);
title('gama=0.8');
gama=0.6;
p=255/255^(gama);p=(1/p)^(1/gama);
for i=1:m
for j=1:n
for l=1:k
r(i,j,l)=floor(p*double(I(i,j,l))^(1/gama));
end
end
end
subplot(2,2,3);
imshow(r);
title('gama=0.6');
gama=0.4;
p=255/255^(gama);p=(1/p)^(1/gama);
for i=1:m
for j=1:n
for l=1:k
r(i,j,l)=floor(p*double(I(i,j,l))^(1/gama));
end
end
end
subplot(2,2,4);
imshow(r);
title('gama=0.4');