我想导出我在 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 格式的校准/畸变数据的示例:
<?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>
请参阅 opencv 资源中的优秀文档指南:https://docs.opencv.org/4.x/dd/d74/tutorial_file_input_output_with_xml_yml.html