Categories
matlab

像差的概念

像差是两个图像(两个波面) 对应点的 光程差

其实就是物理意义上的距离

微透镜阵列形成的 光斑 彼此点要相对应 此z方向是一致的 所以计算像差 只需要计算 x 方向 与 y 方向

w(x,y)/delta x = x方向差值/焦距

w(x,y)/delta y = y方向差值/焦距

从而 反推w(x,y) 计算该点的像差

所有点的像差累加(积分) 就是该波面的波前像差

Categories
matlab

Zernike Noll 序列

zernike 输入各对应点 对应的差值 就可以计算出像差

泽尼克多项式是一个正交多项式,分为奇偶两类。

奇多项式:

偶多项式:

其中:

这里fai为方位角,范围[0-2pi];p为径向距离,范围[0,1];n-m大于等于0;

如果n-m=0,则R=0。

根据不同的m和n值,可以得到不同的多项式,用j表示不同的多项式,通常称为Noll序列:

n,m0,01,11,−12,02,−2
j12345
n,m2,23,−13,13,−33,3
j678910
n,m4,04,24,−24,44,−4
j1112131415
n,m5,15,−15,35,−35,5
j1617181920

jtonmtable 对应的就是这个序列

n m

1 0 0
2 1 1
3 1 -1
4 2 0
5 2 -2
6 2 2
7 3 -1
8 3 1
9 3 -3
10 3 3
11 4 0
12 4 2
13 4 -2
14 4 4
15 4 -4

azimtable 对应的就是 cos sin 角度的系数

cos sin

1 0 0
2 1 0
3 0 1
4 0 0
5 0 2
6 2 0
7 0 1
8 1 0
9 0 3
10 3 0
11 0 0
12 2 0
13 0 2
14 4 0
15 0 4

radialtable 对应的包括 根号系数了

Noll序列前15项泽尼克多项式为:

11
22ρcosθ
32ρsinθ
4√3(2ρ2−1)
5√6ρ2sin2θ
6√6ρ2cos2θ
7√3(3ρ3−2ρ)sinθ
8√3(3ρ3−2ρ)cosθ
9√8ρ3sin3θ
10√8ρ3cos3θ
11√5(6ρ4−6ρ2+1)
12√10(4ρ4−3ρ2)cos2θ
13√10(4ρ4−3ρ2)sin2θ
14√10ρ4cos4θ
15√10ρ4sin4θ
Categories
matlab

单目算法研究 matlab

%% 等待 
input('按下回车键继续...');

pause(inf) 

需要0度数图片做校准图片(已完成)

相片参数 640×480 = 307200

代码参数 640×520 = 332800 (reconstruction 通过上下加20px 实现)

iv0 = shstruct.ord_sqgrid

dv1 = shstruct.ord_centres

dv2 = shstruct.E1

77 = shstruct.nspots

Categories
matlab

figure

A=imread('calibration.png'); % new 30fps chip
A=imread('calibration.png'); % new 30fps chip
figure("name","图片标题")
imshow(A)
figure()
title('第二个窗口', 'FontSize', 14, 'FontWeight', 'bold', 'Color', 'r');

figure 命令会显示一个窗口

Categories
matlab Uncategorized

MATLAB 图片常用方法

读取图片

matrix = imread("./abc.png")

显示矩阵图片

imshow(matrix)

打开图片后 调用图片工具处理矩阵

imtool(matrix)

RGB转GRAY

gray = rgb2gray(rgb)

图片二值化处理

boolean = img > threhold 

图片膨胀与腐蚀 (去掉图片噪音)

Categories
matlab

MATLAB 变量与关键字

pi 表示圆周率

1e-6 表示科学计数法 10的-6次方 代表无穷小 或者0

disp() 控制台输出

abs() 绝对值

sqrt() 开方

syms k ∑

symsum 求和

factorial() 阶乘

exp() e的次方

log() ln

log10() log10

sin() cos() tan() cot()

asin() acos() atan() acot()

if:else 语法

if

elseif

else

end

function

矩阵的+ – * / > < 这些操作 都是针对整个矩阵所有元素的操作

Categories
matlab

MATLAB 脚本

mkdir 创建文件夹

movefile 移动文件

dir 显示文件夹

变量声明

x=起始范围:步长:终止范围

函数声明

y=f(x) f() 具体形式 具体编写

二维函数画图

plot(X,Y)
plot(X,Y,LineSpec)
plot(X1,Y1,…,Xn,Yn)
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn)
plot(Y)

LineSpec 表示线段形式

“:” 蓝虚线

“r” 红实线 “:r” 红虚线

“b” 蓝实线 “:b” 蓝虚线

“-” 蓝实线

“–” 蓝分段线段