opencv undistortPoints函数介绍和注意(返回数值太小)

本文介绍了OpenCV的undistortPoints函数在单目相机应用中的注意事项,包括观测点坐标形状要求、R参数的使用,以及P矩阵对结果坐标的影响。当P矩阵为空时,返回的坐标值较小,表示归一化坐标,设置P为内参可得到消畸变后的像素坐标。建议在使用时详细阅读官方文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好几次使用undistortPoints都碰到些障碍,把几个问题记录一下,我都是单目相机用

void cv::undistortPoints(InputArray src,
    OutputArray dst,
    InputArray cameraMatrix,
    InputArray distCoeffs,
    InputArray R = noArray(),
    InputArray P = noArray() )

Python:
dst=cv.undistortPoints(src, cameraMatrix, distCoeffs[, dst[, R[, P]]])
dst=cv.undistortPointsIter(src, cameraMatrix, distCoeffs, R, P, criteria[, dst]

用处:根据相机参数和观测到点坐标位置计算实际坐标位置
参数说明:
在这里插入图片描述

注意问题

1. 观测点的shape,即src的shape是1xNx2或Nx1x2;
2. R参数是用在双目里的,单目里置为空矩阵;
3. P矩阵值为空时,得到的结果的点坐标是相机的归一化坐标 ( x , y ) (x, y) (x,y),这时候数值就会明显很小;设置相机内参会进行以下计算,
u ′ =

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值