[討論] MATLAB 光線補償問題
請問有誰可以翻譯註解上的字體 看不懂他的意思 感謝各位
%ラ燴敦諳
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
→
05/06 23:29, , 1F
05/06 23:29, 1F
推
05/07 14:11, , 2F
05/07 14:11, 2F
→
05/07 16:50, , 3F
05/07 16:50, 3F
→
05/07 16:51, , 4F
05/07 16:51, 4F