首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV非失真裁剪图像

OpenCV非失真裁剪图像
EN

Stack Overflow用户
提问于 2021-08-03 10:02:51
回答 1查看 252关注 0票数 0

我有一个1280 by到960 by的图像

相机矩阵:

,0,0,0,0,0,1

失真矩阵:

1,2,1,2,3

我正试图通过

代码语言:javascript
复制
undistort(croppedImage, undistortedImage, cameraMatrix, distortionMatrix);

然而,这是太长的时间,所以我已经用边界x1,x2,y1,y2裁剪图像。

如果将相同的摄像机矩阵和失真矩阵应用到非失真()中,图像就不会完全不失真。

如何在不重新校正的情况下,根据原始摄像机矩阵和畸变矩阵对新的裁剪图像进行去失真?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-10 08:55:36

非扭曲效应适用于相机矩阵中的cx和cy位置。

如果您裁剪图像,您所需要做的就是将cx和cy位置移到原始图像上的位置。这样,不失真的部分将从那个位置应用,你的裁剪部分将相应地不受扭曲。

所有其他值都可以保持不变。

代码语言:javascript
复制
new_fx = fx
new_fy = fy
new_cx = cx - x1
new_cy = cy - y1

new_k1 = k1
new_k2 = k2
new_p1 = p1
new_p2 = p2
new_k3 = k3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68634072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档