how to find color pattern?
Afficher commentaires plus anciens
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;
1 commentaire
Stephen23
le 14 Août 2017
@ajeet verma: today I formatted your code correctly for you. In future you can do it yourself: select the code text, then click the {} Code button.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Blue dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!