作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用示例 OpenCV 程序计算相机矩阵和相机畸变系数,并生成包含相关数据的 xml 文件。
我正在尝试通过 undistort
函数使用它,但我不确定如何将这些值存储为 Mat
。
Mat cameraMatrix;
Mat distortionCoefficients;
undistort(image, newImage, cameraMatrix, distortionCoefficients);
我试过:
Mat cameraMatrix = 1.7514028018776246e+03 0. 1.2635000000000000e+03 0. 1.7514028018776246e+03 9.2750000000000000e+02 0. 0. 1.;
Mat distortionCoefficients = 1.3287735059062630e-01 -6.8376776294978103e-01 0. 0. 8.1215478360827675e-01;
我是否需要尝试为 Mat
var 指定一系列行和列,然后为每个值分配一个索引?
最佳答案
您可以在 OpenCV 文档中查看 undistort那:
相机矩阵是一个 3x3 矩阵:
fx 0 cx
0 fy cy
0 0 1
您可以创建为:
Mat cameraMatrix = (Mat1d(3, 3) << fx, 0, cx, 0, fy, cy, 0, 0, 1);
distortionCoefficients 是一个 vector 或 4、5 或 8 个参数:
k1, k2, p1, p2 [, k3 [, k4, k5, k6]]
您可以创建为:
Mat distortionCoefficients = (Mat1d(1, 4) << k1, k2, p1, p2);
Mat distortionCoefficients = (Mat1d(1, 5) << k1, k2, p1, p2, k3);
Mat distortionCoefficients = (Mat1d(1, 8) << k1, k2, p1, p2, k3, k4, k5, k6);
参数含义可以在OpenCV documentation上找到
关于c++ - OpenCV - 将相机矩阵和畸变系数存储为 Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34023303/
在面向 Web 的应用程序中开发优雅的 Pub-Sub 架构是一项真正的挑战。尽管有一些非常有趣的解决方案使用长轮询连接(例如 COMET)和重复超时(例如 js setTimeout)。恕我直言,A
我需要关于设计这样一个存储库的反馈,它会帮助我晚上休息,真的...... 我无意为 Web 表单编写测试,涉及的开销太大。 我无意在明天、下个月或明年更改 ORM 或数据库,并且我需要一个地方来集中查
我是一名优秀的程序员,十分优秀!