complementar.m

来自「这是在MATLAB下编写的基于彩色条纹的相位测量轮廓术的源码,很实用.,在光学三」· M 代码 · 共 111 行

M
111
字号
function [CR1,CR2,CR3,CG1,CG2,CG3,CB1,CB2,CB3] = Complementar(ReFr1,ReFr2,ReFr3,GrFr1,GrFr2,GrFr3,BlFr1,BlFr2,BlFr3)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%此函数用来计算各个纯色函数的补色函数
%07-11-15 qfw
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Rmax = input('input Rmax: ');
Gmax = input('input Gmax: ');
Bmax = input('input Bmax: ');

[Row,Column,Three] = size(ReFr1);
CR1 = zeros(Row,Column,Three);
for m = 1:Row %1
    for n = 1:Column
        CR1(m,n,1) = Rmax - ReFr1(m,n,1);
        CR1(m,n,2) = Gmax - ReFr1(m,n,2);
        CR1(m,n,3) = Bmax - ReFr1(m,n,3);

    end
end
[Row,Column,Three] = size(ReFr2);
CR2 = zeros(Row,Column,Three);
for m = 1:Row %2
    for n = 1:Column
        CR2(m,n,1) = Rmax - ReFr2(m,n,1);
        CR2(m,n,2) = Gmax - ReFr2(m,n,2);
        CR2(m,n,3) = Bmax - ReFr2(m,n,3);

    end
end
[Row,Column,Three] = size(ReFr3);
CR3 = zeros(Row,Column,Three);
for m = 1:Row %3
    for n = 1:Column
        CR3(m,n,1) = Rmax - ReFr3(m,n,1);
        CR3(m,n,2) = Gmax - ReFr3(m,n,2);
        CR3(m,n,3) = Bmax - ReFr3(m,n,3);

    end
end
[Row,Column,Three] = size(GrFr1);
CG1 = zeros(Row,Column,Three);
for m = 1:Row %4
    for n = 1:Column
        CG1(m,n,1) = Rmax - GrFr1(m,n,1);
        CG1(m,n,2) = Gmax - GrFr1(m,n,2);
        CG1(m,n,3) = Bmax - GrFr1(m,n,3);

    end
end
[Row,Column,Three] = size(GrFr2);
CG2 = zeros(Row,Column,Three);
for m = 1:Row %5
    for n = 1:Column
        CG2(m,n,1) = Rmax - GrFr2(m,n,1);
        CG2(m,n,2) = Gmax - GrFr2(m,n,2);
        CG2(m,n,3) = Bmax - GrFr2(m,n,3);

    end
end
[Row,Column,Three] = size(GrFr3);
CG3 = zeros(Row,Column,Three);
for m = 1:Row %6
    for n = 1:Column
        CG3(m,n,1) = Rmax - GrFr3(m,n,1);
        CG3(m,n,2) = Gmax - GrFr3(m,n,2);
        CG3(m,n,3) = Bmax - GrFr3(m,n,3);

    end
end
[Row,Column,Three] = size(BlFr1);
CB1 = zeros(Row,Column,Three);
for m = 1:Row 
    for n = 1:Column
        CB1(m,n,1) = Rmax - BlFr1(m,n,1);
        CB1(m,n,2) = Gmax - BlFr1(m,n,2);
        CB1(m,n,3) = Bmax - BlFr1(m,n,3);

    end
end
[Row,Column,Three] = size(BlFr2);
CB2 = zeros(Row,Column,Three);
for m = 1:Row 
    for n = 1:Column
        CB2(m,n,1) = Rmax - BlFr2(m,n,1);
        CB2(m,n,2) = Gmax - BlFr2(m,n,2);
        CB2(m,n,3) = Bmax - BlFr2(m,n,3);

    end
end
[Row,Column,Three] = size(BlFr3);
CB3 = zeros(Row,Column,Three);
for m = 1:Row 
    for n = 1:Column
        CB3(m,n,1) = Rmax - BlFr3(m,n,1);
        CB3(m,n,2) = Gmax - BlFr3(m,n,2);
        CB3(m,n,3) = Bmax - BlFr3(m,n,3);

    end
end
%%%%%
imwrite(uint8(CR1),'CR1.bmp');
imwrite(uint8(CR2),'CR2.bmp');
imwrite(uint8(CR3),'CR3.bmp');
%%%%
imwrite(uint8(CG1),'CG1.bmp');
imwrite(uint8(CG2),'CG2.bmp');
imwrite(uint8(CG3),'CG3.bmp');
%%%%
imwrite(uint8(CB1),'CB1.bmp');
imwrite(uint8(CB2),'CB2.bmp');
imwrite(uint8(CB3),'CB3.bmp');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?