i am coding trapezoidal fringe pattern and i need color pattern but something being wrong, please help my code is here:
%%trapezoidal color fringes (vertical)
clc;clear all;f1=10; % No. of vertical fringes
f2=0; % No. of horizontal fringes
m=1000;n=1000;a1 = zeros(m,n) ;a2 = zeros(m,n) ;a3 = zeros(m,n) ;% trapezoidal fringe
imx=8;imn=2;T = 20;s1= @(x) (imx+imn).*((0<=x & x<=T/6)|(x>=5*T/6 & x<=T))... +(imx+imn*(2-6*x/T)).*(T/6<=x & x<=T/3)... +(imx).*(T/3<=x & x<=2*T/3)... +(imx+imn*(6*x/T-4)).*(2*T/3<=x & x<=5*T/6);s2= @(x) (imx+imn*(6*x/T)).*(0<=x & x<=T/6)... +(imx+imn).*(T/6<=x & x<=T/2)... +(imx+imn*(4-6*x/T)).*(T/2<=x & x<=2*T/3)... +(imx).*(2*T/3<=x & x<=T);s3= @(x) (imx).*(0<=x & x<=T/3)... +(imx+imn*(6*x/T-2)).*(T/3<=x & x<=T/2)... +(imx+imn).*(T/2<=x & x<=5*T/6)... +(imx+imn*(6-6*x/T)).*(5*T/6<=x & x<=T);x = linspace(0,20,50); X = repmat(x, 1000, 20);I1 = s1(X);I2 = s2(X);I3 = s3(X);% figure(1)
% subplot(131),imshow(I1,[])
% subplot(132),imshow(I2,[])
% subplot(133),imshow(I3,[])
a1=exp(1i*I1);a2=exp(1i*I2);a3=exp(1i*I3);subplot(131),imshow(a1,[]),impixelinfo;subplot(132),imshow(a2,[]),impixelinfo;subplot(133),imshow(a3,[]),impixelinfo;Color=zeros(m,n,3);Color(:,:,1)=a1;Color(:,:,2)=a2;Color(:,:,3)=a3;figure(2)imshow(Color),title('vertical fringes'),impixelinfo;
Best Answer