![]() |
matlab图像在3D显示屏上混叠采样处理
我的程序是先编译一张测试条纹图,然后对这个条纹图放到模拟3D坐标的显示器中,因为显示器的采样点不发生变化,因而当感觉图像显示凸出显示器时会产生混叠公式z=e*V/(e-d); x=V./z.*c-d./2; y=V./z.*r; 因为是显示器上的,那么x和y的值必须取整数。下面是我的程序,哪位大神能帮我修改下。 e=65mm是瞳距,V=600mm是观看距离,d=-24mm是视差,显示器的分辨率是0.4mm。
[code] M=300; N=300; u0=50; v0=50; A=10; c=0:M-1; r=0:N-1; [C,R]=meshgrid(c,r); g=A*sin(u0*R+v0*C); g=mat2gray(g) imshow(g) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% mix %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% e=65*2.5; d=-24*2.5; V=600*2.5; z=e*V/(e-d); for c=1:M-1 for r=1:N-1 x=round((e.*(2.*c+d))/(2.*(e-d))); y=round((e.*r)/(e-d)); h=zeros(x,y); h(x,y)=g(c,r); end end imshow(h,[]); %h=mat2gray(h) figure[/code] 错误??? Attempted to access g(0,0); index must be a positive integer or logical. Error in ==> Untitled4 at 25 h(x,y)=g(c,r); 这是什么错误,怎么修改啊 |
所有时间均为北京时间。现在的时间是 13:27。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.