Opencv学习笔记(最近更新2023.11.1)

棋盘格角点检测findChessboardCorners()

findChessboardCorners(image,patternSize,corners,flags = None),此函数试图确定输入图片是否有棋盘图案,并定位棋盘板上的内角点。如果所有的角点被找到且以一定的顺序排列(一行接一行,从一行的左边到右边),该函数会返回一个非零值。另外,如果该函数没有找到所有的角点或者重新排列他们,则返回0。

亚像素角点检测cornerSubPix()

cv::goodFeaturesToTrack()提取到的角点只能达到像素级别,在很多情况下并不能满足实际的需求,这时,我们则需要使用cv::cornerSubPix()对检测到的角点作进一步的优化计算,可使角点的精度达到亚像素级别。

void cv::cornerSubPix(  cv::InputArray image, // 输入图像
						cv::InputOutputArray corners, // 角点(既作为输入也作为输出)
						cv::Size winSize, // 区域大小为 NXN; N=(winSize*2+1)
						cv::Size zeroZone, // 类似于winSize,但是总具有较小的范围,Size(-1,-1)表示忽略
						cv::TermCriteria criteria // 停止优化的标准
					 );

第五个参数用于表示计算亚像素时停止迭代的标准,可选的值有cv::TermCriteria::MAX_ITER 、cv::TermCriteria::EPS(可以是两者其一,或两者均选),前者表示迭代次数达到了最大次数时停止,后者表示角点位置变化的最小值已经达到最小时停止迭代。二者均使用cv::TermCriteria()构造函数进行指定。

棋盘格角点的绘制drawChessboardCorners()

	void cv::drawChessboardCorners( cv::InputOutputArray image, // 棋盘格图像(8UC3)即是输入也是输出
									cv::Size patternSize, // 棋盘格内部角点的行、列数
									cv::InputArray corners, // findChessboardCorners()输出的角点
									bool patternWasFound // findChessboardCorners()的返回值
								  );

计算外参solvePnPRansac()

bool cv::solvePnPRansac	(	InputArray 	objectPoints, //参考点在世界坐标系
						 	InputArray 	imagePoints,  //参考点在相机平面的坐标
						 	InputArray 	cameraMatrix,  //相机内参
						 	InputArray 	distCoeffs,    //相机畸变系数
						 	OutputArray 	rvec,      // 旋转矩阵
						 	OutputArray 	tvec,      // 平移向量
						 	bool 	useExtrinsicGuess = false,
						 	int 	iterationsCount = 100,
						 	float 	reprojectionError = 8.0,
						 	double 	confidence = 0.99,
						 	OutputArray 	inliers = noArray(),
						 	int 	flags = SOLVEPNP_ITERATIVE 
						)

旋转向量转旋转矩阵Rodrigues()

Rodrigues(src[, dst[, jacobian]]) -> dst, jacobian
输入src:旋转向量((3,1)或者(1,3))或者旋转矩阵(3,3);
输出dst:旋转矩阵(3,3)或者旋转向量((3,1)或者(1,3));
输出jacobin:可选项,输出雅克比矩阵(3x9或者9x3),输入数组对输出数组的偏导数。

鱼眼畸变矫正initUndistortRectifyMap()

的作用是根据无畸变图的像素位置(i, j),推出它对应的畸变图中的像素位置(u, v),然后把畸变图中的(u, v)复制到新图中的(i, j),就得到了矫正图像。

void initUndistortRectifyMap( InputArray cameraMatrix, InputArray distCoeffs,InputArray R, InputArray newCameraMatrix, Size size, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值