Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2013-05-12, 09:53   #1
雨鼓阳光
初级会员
 
注册日期: 2013-05-12
帖子: 2
声望力: 0
雨鼓阳光 正向着好的方向发展
帖子 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。

代码:
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



错误??? 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);

这是什么错误,怎么修改啊
雨鼓阳光 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 15:15


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.