如何使用python在opencv中导入/导出相机内部参数?

问题描述 投票:0回答:2

我想导出我在 opencv (python) 中成功进行的相机校准的内在参数。我还希望能够再次导入它。最好还导出/导入有关相机的附加信息(分辨率、像素大小...)

opencv中是否存在这样的导出/导入函数?非常感谢链接。

我在摄影软件“agisoft”的用户手册中读到它与 opencv 的 xml 格式兼容(参见下面的引用)。我找到了他的帖子,但这表明opencv中的导出函数必须手动编写(?)。

非常感谢您对此提出任何有用的评论。

要导出/导入相机校准数据,只需从工具中选择相机校准...命令 菜单。使用 / 按钮可以以以下格式加载/保存相机校准数据:

  • Agisoft 相机校准 (*.xml)
  • Australis 相机参数(*.txt)\
  • Australis v7 相机参数 (*.txt) \
  • PhotoModeler 相机校准 (*.ini)
  • 3DM CalibCam 相机参数(*.txt)
  • CalCam 相机校准 (*.cal)
  • Inpho 相机校准 (*.txt)
  • USGS 相机校准 (*.txt)
  • Pix4D 相机校准(*.cam)
  • OpenCV 相机标定(*.xml)
  • Z/I 扭曲网格 (*.dat)
opencv import export camera-calibration
2个回答
0
投票

仅供参考,以下是从上述软件导出 OpenCV 格式的校准/畸变数据的示例:

<?xml version="1.0"?>
<opencv_storage>
<calibration_Time>"Wed Nov 23 14:15:14 2022"</calibration_Time>
<image_Width>8192</image_Width>
<image_Height>5460</image_Height>
<Camera_Matrix type_id="opencv-matrix">
  <rows>3</rows>
  <cols>3</cols>
  <dt>d</dt>
  <data>
    8.19909097977063720e+03 0. 4.10285658215068088e+03 0.
    8.19820374050889950e+03 2.76652312492446345e+03 0. 0. 1.</data></Camera_Matrix>
<Distortion_Coefficients type_id="opencv-matrix">
  <rows>5</rows>
  <cols>1</cols>
  <dt>d</dt>
  <data>
    -5.05148685992756821e-02 2.30717657759454305e-02 1.39452268357952527e-03 -4.76647437649973301e-04
    -1.00095593477604744e-01</data></Distortion_Coefficients>
</opencv_storage>

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.