• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-02-12
  • 语言: Matlab
  • 标签: MATLAB  散斑生成  

资源简介

通过matlab来生成数字散斑的小程序,通过输入相应参数可以生成不同效果的散斑图。

资源截图

代码片段和文件信息

clear
clc
Num=input(‘输入生成的散斑数Num:‘);
Height=input(‘图像的高度Height:‘);
Wide=input(‘图像的宽度Wide:‘);
I0=input(‘每个散斑的最大光强:‘);
r=input(‘散斑的尺寸r:‘);
u0=input(‘u0:‘);%xk‘=xk+uk=xk+u0+ux*x+uy*y
v0=input(‘v0:‘);%yk‘=yk+vk=yk+v0+vx*x+vy*y
ux=input(‘ux:‘);
uy=input(‘uy:‘);
vx=input(‘vx:‘);
vy=input(‘vy:‘);
a=0;%旋转矩阵角度
T=[0 0 300]‘;%平移矩阵
f=15;%焦距(单位mm)
b=1;%非确定性标度因子,它是由摄像机横扫描与采样定时误差引起
dx=5.0e-3;dy=5.0e-3;%dx,dy是摄像机靶面感光单元x,y方向长度
cx=64;cy=64;%(cx,cy)为摄像机平面坐标系的原点o1在计算机图像坐标系中的位置
R=[cos(a) sin(a) 0;-sin(a) cos(a) 0;0 0 1];%旋转矩阵
zw=0;%物面坐标zw
for xf=1:128
    for yf=1:128
        xu=(xf-cx)*b*dx;
        yu=(yf-cy)*b*dy;
        zc=zw+300;%300为旋转矩阵最后一项
        xyzc=zc*[1/f 0 0;0 1/f 0;0 0 1]*[xu yu 1]‘;
        xyzw=inv(R)*(xyzc-T);
        xw(xfyf)=xyzw(1);
        yw(xfyf)=xyzw(2);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1395  2013-12-07 14:12  considercameralrealspeckle1.m
     文件         386  2013-11-29 13:44  generatespeckle.m
     文件         452  2013-11-29 15:42  generatespeckleccd.m
     文件         707  2013-12-06 17:10  generatespeckledeformation.m
     文件        1522  2013-12-07 13:53  realspeckle.m

评论

共有 条评论