opencv 未知函数记录-estimateAffinePartial2D

cv::estimateAffinePartial2D 是 OpenCV 中用来估计二维点集之间"相似变换" (不含透视、不含非均匀缩放)的核心函数,在标定、对准、左右眼配准、抖动/位移补偿里非常常见。

2️⃣ 估计的变换模型(非常重要)

estimateAffinePartial2D 估计的是:

x′y′\]=\[scos⁡θ−ssin⁡θssin⁡θscos⁡θ\]\[xy\]+\[txty\]\\begin{bmatrix} x' \\\\ y' \\end{bmatrix} = \\begin{bmatrix} s\\cos\\theta \& -s\\sin\\theta \\\\ s\\sin\\theta \& s\\cos\\theta \\end{bmatrix} \\begin{bmatrix} x \\\\ y \\end{bmatrix} + \\begin{bmatrix} t_x \\\\ t_y \\end{bmatrix}\[x′y′​\]=\[scosθssinθ​−ssinθscosθ​\]\[xy​\]+\[tx​ty​​

允许

  • 平移(Tx, Ty)

  • 旋转(θ)

  • 等比缩放(s)

不允许

  • 剪切(shear)

  • 非等比缩放

  • 透视

👉 对应 4 自由度

3️⃣ 与 estimateAffine2D / findHomography 的区别

函数 模型 自由度 是否透视
estimateAffinePartial2D 相似变换 4
estimateAffine2D 仿射 6
findHomography 单应 8

经验法则

  • 左右眼 / 模组装调 / 机械对准estimateAffinePartial2D

  • 存在剪切或像素比例不一致estimateAffine2D

  • 投影 / keystonefindHomography

6️⃣ 拆解参数(工程经验)

🔹 method

  • cv::RANSAC(强烈推荐)

  • cv::LMEDS(离群点少时)

🔹 ransacReprojThreshold

  • 像素单位

  • 显示/测量常用:

    复制代码

    1 ~ 3 px

🔹 refineIters

  • 迭代优化次数

  • 标定类建议 ≥ 10

7️⃣ 如何从矩阵中读出物理量(很有用)

复制代码

double a = M.at<double>(0,0); double b = M.at<double>(1,0); double scale = std::sqrt(a*a + b*b); double theta = std::atan2(b, a); // 弧度 double tx = M.at<double>(0,2); double ty = M.at<double>(1,2);

相关推荐
ai_xiaogui1 小时前
从实体转行到本地AI:AIStarter 完美收官,Panelai 开启分布式算力管理新篇章
人工智能·分布式
Hcoco_me1 小时前
大模型面试题48:从白话到进阶详解LoRA 中 r 和 alpha 参数
开发语言·人工智能·深度学习·算法·transformer·word2vec
木卫二号Coding1 小时前
第七十二篇-V100-32G+WebUI+Flux.1-Schnell+Lora+文生图
开发语言·人工智能·python
之歆1 小时前
Spring AI入门到实战到原理源码-笔记-(上)
java·人工智能·spring
love530love1 小时前
EPGF 新手教程 11在 PyCharm(中文版 GUI)中创建 uv 环境,并把 uv 做到“项目自包含”(工具本地化为必做环节)
ide·人工智能·python·pycharm·conda·uv·epgf
Fabarta技术团队1 小时前
响应北京人工智能行动计划,枫清科技共筑AI创新高地
人工智能·科技
得贤招聘官1 小时前
判断AI招聘系统成熟度的3个硬指标
人工智能
Lkygo1 小时前
ragflow 构建本地知识库指南
人工智能·python·语言模型
晟诺数字人1 小时前
数字人、AI数字人、虚拟数字人、3D数字人之间的区别于应用场景
大数据·人工智能·3d·数字人
木卫四科技1 小时前
【CES 2026】木卫四科技发布R-IDPS,护航具身机器人“Chat GPT时刻”安全落地!
大数据·人工智能