Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

DZbro

.m
Скачиваний:
0
Добавлен:
22.03.2026
Размер:
1.79 Кб
Скачать
clear all
path(path, 'C:\Users\danya\OneDrive\Рабочий стол\LABS')
R_ref = xlsread('chislamoi.xlsx', 'C2:C540001')';
G_ref = xlsread('chislamoi.xlsx', 'F2:F540001')';
B_ref = xlsread('chislamoi.xlsx', 'I2:I540001')';

R_after = xlsread('chislamoi.xlsx', 'B2:B540001')';
G_after = xlsread('chislamoi.xlsx', 'E2:E540001')';
B_after = xlsread('chislamoi.xlsx', 'H2:H540001')';

ref = [R_ref; G_ref; B_ref];
after = [R_after; G_after; B_after];

Matrix=[0.4124564 0.3575761 0.1804375;
0.2126729 0.7151522 0.0721750;
0.0193339 0.1191920 0.9503041];

xyz_ref = Matrix*ref;
xyz_after = Matrix*after;


for i = 1:540000
if xyz_ref(1,i)>0.008856
fx_ref(i) = xyz_ref(1,1)^(1/3);
else
fx_ref(i) = (903.3*xyz_ref(1,i)+16)/116;
end
if xyz_ref(2,i)>0.008856
fy_ref(i) = xyz_ref(2,i)^(1/3);
else
fy_ref(i) =(903.3*xyz_ref(2,i)+16)/116;
end
if xyz_ref(3,1)>0.008856
fz_ref(i) = xyz_ref(3,i)^(1/3);
else
fz_ref(i) = (903.3*xyz_ref(3,i)+16)/116;
end

if xyz_after(1,i)>0.008856
fx_after(i) = xyz_after(1,i)^(1/3);
else
fx_after(i) = (903.3*xyz_after(1,i)+16)/116;
end
if xyz_after(1,i)>0.008856
fy_after(i) = xyz_after(2,i)^(1/3);
else
fy_after(i) = (903.3*xyz_after(2,i)+16)/116;
end
if xyz_after(1,i)>0.008856
fz_after(i) = xyz_after(3,i)^(1/3);
else
fz_after(i) = (903.3*xyz_after(3,i)+16)/116;
end


L_ref(i) = 116*fy_ref(i)-16;
L_after(i) = 116*fy_after(i)-16;

a_ref(i) = 500*(fx_ref(i)- fy_ref(i));
a_after(i) = 500*(fx_after(i)- fy_after(i));

b_ref(i) = 200*(fy_ref(i)- fz_ref(i));
b_after(i) = 200*(fy_after(i)- fz_after(i));

Error_after(i)=sqrt((L_ref(i)- L_after(i))^2+(a_ref(i)- a_after(i))^2+(b_ref(i)- b_after(i))^2);
end
Error = mean(Error_after)
Соседние файлы в предмете Основы телевидения