相机畸变系数$b_1,b_2$与畸变系数aspect ratio和skew的互转

相机畸变系数 b 1 , b 2 b_1,b_2 b1,b2与畸变系数skew和aspect ratio的互转

相机畸变系数 b 1 , b 2 b_1,b_2 b1,b2与畸变系数aspect ratio和skew是可以互相转换的畸变表达方式。 b 1 b_1 b1,aspect ratio用于表达影像的像元x、y方向尺寸不一致; b 2 b_2 b2、skew用于表达x轴y轴不垂直引起的畸变。本文将介绍这两种参数表示方式的互相转换方法:首先介绍应用这两种参数表示法的畸变模型,然后介绍如何互相转换。

两种模型的写法

( x ′ , y ′ ) (x',y') (x′,y′)是经过径向、切向畸变系数改正的像点坐标。 ( x , y ) (x,y) (x,y)是经过xy尺寸、垂直性校正后的坐标。这两个坐标均是在以像主点为原点的像平面坐标系中表达的。

[ x y ] = { f x ′ + b 1 x ′ + b 2 y ′ f y ′ \begin{bmatrix}x\\y\end{bmatrix}=\begin{cases}fx'+b_1 x'+b_2 y'\\fy' \end{cases} [xy]={fx′+b1x′+b2y′fy′

其中, b 1 b_1 b1, b 2 b_2 b2的定义与metashape文档说明一致。

[ x y ] = { f x ′ + s y ′ ρ f y ′ \begin{bmatrix}x\\y\end{bmatrix}=\begin{cases}fx'+sy'\\\rho fy' \end{cases} [xy]={fx′+sy′ρfy′

其中, s s s表示skew, ρ ρ ρ表示aspect ratio。可参见ContextCapture文档

转换方式

这一节我们依然把skew记作s,aspect ratio记作ρ,用:=表示赋值操作。必须要说明的是,从上面两个公式可见,尽管焦距f的符号是一致的,但是转换 b 1 , b 2 b_1,b_2 b1,b2和skew、aspect ratio时,焦距也要相应的变化。

由 b 1 , b 2 b_1,b_2 b1,b2计算skew和aspect ratio

s : = b 2 ρ : = f / ( f + b 1 ) f : = f + b 1 s:=b_2\\ \rho:=f/(f+b_1)\\ f:=f+b_1\\ s:=b2ρ:=f/(f+b1)f:=f+b1

由skew和aspect ratio计算 b 1 , b 2 b_1,b_2 b1,b2

b 2 : = s b 1 : = f − ρ f f : = ρ f b_2:=s\\ b_1:=f-\rho f\\ f:=\rho f\\ b2:=sb1:=f−ρff:=ρf

相关推荐
jndingxin5 分钟前
OpenCV特征检测(3)计算图像中每个像素处的特征值和特征向量函数cornerEigenValsAndVecs()的使用
人工智能·opencv·计算机视觉
jndingxin13 分钟前
OpenCV特征检测(4)检测图像中的角点函数cornerHarris()的使用
人工智能·opencv·计算机视觉
xuehaishijue1 小时前
射击靶标检测系统源码分享
人工智能·计算机视觉·目标跟踪
LabVIEW开发2 小时前
LabVIEW机械手视觉引导系统
数码相机·labview
白葵新3 小时前
PCL addLine可视化K近邻
c++·人工智能·算法·计算机视觉·3d
sp_fyf_20245 小时前
浅谈计算机视觉的学习路径1
计算机视觉
VB.Net6 小时前
EmguCV学习笔记 VB.Net 12.3 OCR
opencv·计算机视觉·c#·ocr·图像·vb.net·emgucv
ShuQiHere7 小时前
【ShuQiHere】 探索计算机视觉的世界:从基础到应用
人工智能·计算机视觉
VB.Net7 小时前
EmguCV学习笔记 C# 12.3 OCR
opencv·计算机视觉·c#·ocr·vb.net·emgucv