OpenCV相机标定与3D重建(39)计算校正畸变后的新相机内参矩阵函数getOptimalNewCameraMatrix()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

根据自由缩放参数返回新的相机内参矩阵。

cv::getOptimalNewCameraMatrix 是 OpenCV 库中的一个函数,用于计算校正畸变后的新相机内参矩阵。该函数不仅考虑了原始的相机内参和畸变系数,还允许用户通过参数 alpha 控制图像的有效区域大小,并可以选择是否将主点设置为图像中心。

该函数根据自由缩放参数计算并返回最优的新相机内参矩阵。通过改变这个参数,您可以仅获取合理的像素(alpha=0),保留所有原始图像像素(如果角落中有有价值的信息,则 alpha=1),或者得到两者之间的某种折衷。当 alpha>0 时,去畸变后的结果可能会包含一些对应于捕获的畸变图像之外的“虚拟”像素的黑边。原始的相机内参矩阵、畸变系数、计算出的新相机内参矩阵和 newImageSize 应传递给 initUndistortRectifyMap 以生成用于 remap 的映射。

函数原型


Mat cv::getOptimalNewCameraMatrix	
(
	InputArray 	cameraMatrix,
	InputArray 	distCoeffs,
	Size 	imageSize,
	double 	alpha,
	Size 	newImgSize = Size(),
	Rect * 	validPixROI = 0,
	bool 	centerPrincipalPoint = false 
)		

参数

  • 参数cameraMatrix:输入的相机内参矩阵。

  • 参数distCoeffs:输入的畸变系数向量,包含4、5、8、12或14个元素,具体为 (k1, k2, p1, p2 [,k3 [,k4, k5, k6 [,s1, s2, s3, s4 [,τx, τy]]]])。如果该向量为空,则假定畸变系数为零。

  • 参数imageSize:原始图像尺寸。

  • 参数alpha:自由缩放参数,范围在0到1之

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村北头的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值