作者kidavid (小虫)
看板MATLAB
标题[讨论] MATLAB 光线补偿问题
时间Mon May 6 21:13:53 2013
请问有谁可以翻译注解上的字体 看不懂他的意思 感谢各位
%ラ烩敦谙
close all
clear all
clc
% 怀フ芞砉靡趼
img_name = input('ワ怀フ芞砉靡趼(芞砉斛剕峈RGB芞砉ㄛ怀フ0赋旰)ㄩ','s');
% 绞怀フ0奀赋旰
while ~strcmp(img_name,'0')
% 辆俴嫖盄朱野
I = imread(img_name); % 黍龰RGB芞砉
LightCompensate(I);
img_name = input('ワ怀フ芞砉靡趼(芞砉斛剕峈RGB芞砉ㄛ怀フ0赋旰)ㄩ','s');
end
副程式
function LightCompensate(I)
[m0,n0,l]=size(I);
figure(1),imshow(I); % 珆尨埻芞
thresholdco=0.05; % 掀瞰炵杅
thresholdnum=100; % 砉匼跺杅腔还赐都杅
histogram=zeros(1,256); % 阂仅撰 杅郪ㄛ 眻源芞ㄗ1俴ㄛ256蹈ㄘ
%if m0*n0*thresholdco < thresholdnum
% disp('怀フ芞砉怮苤ㄛワ遥珨桲ㄐ');
% return
%end
gray=0;
index0=0
for i=1:m0 % 芞砉禸镜
for j=1:n0
gray=round(I(i,j,1)*.299+I(i,j,2)*.587+I(i,j,3)*.114);
index0=gray+1;
histogram(1,index0)= histogram(1,index0)+1;
end
end
calnum=0;
total=m0*n0;
num=0;
%next凤腕雏逋炵杅thresholdco腔还赐阂仅撰
index1=0;
for i=1:256
if calnum/total<thresholdco
index1=256-i+1;
calnum=calnum+histogram(1,index1);
num=i;
else
break;
end
end
averagegray=0;
calnum=0;
k=256-num+1;
% 凤腕雏逋沭璃腔砉匼軞腔阂仅硉
for i=256:-1:k
averagegray=averagegray+histogram(1,i)*i;
calnum=calnum+histogram(1,i);
end
averagegray=averagegray/calnum;
co=255.0/averagegray;
%辆俴嫖盄朱野
for i=1:m0
for j=1:n0
I(i,j,1)=I(i,j,1)*co;
if I(i,j,1)>255
I(i,j,1)=255;
end
I(i,j,2)=I(i,j,2)*co;
if I(i,j,2)>255
I(i,j,2)=255;
end
I(i,j,3)=I(i,j,3)*co;
if I(i,j,3)>255
I(i,j,3)=255;
end
end
end
%im=zeros(m0,n0,l); % 芞砉挞淝
%im=I; %
figure(2),imshow(I); % 珆尨嫖盄朱野芞
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.126.20.41
1F:→ peter0318:这个字码应该是GB吧 开word可以转换 05/06 23:29
2F:推 abccow:你把m档丢进Chrome或IE视窗让他读看看 05/07 14:11
3F:→ mikker:如果你是用pcman的话 工具列->编辑->语言及字元编码-> 05/07 16:50
4F:→ mikker:simplified chinese 05/07 16:51