【发布时间】:2017-07-20 16:47:10
【问题描述】:
有些照片是我无法再访问的鱼眼相机拍摄的。我正在尝试使用opencv消除这些照片上的鱼眼效应,我所见过的所有解决方案都需要拍摄已知大小的物体(即棋盘)然后调用 cv2.calibrate() 然后它将返回校准要在 cv2.undistorted() 中使用的参数,但这不适用。但是这些属性是附加在相机上的关于鱼眼效果参数的。
<intrinsic>
<fisheyeAmt1 format="float" value="308.8805"/>
<fisheyeAmt2 format="float" value="-14.2861"/>
<fisheyeAmt3 format="float" value="51.4445"/>
<fisheyeAmt4 format="float" value="-10.362"/>
<opt_axis_x_rot_deg format="float" value="0"/>
<opt_axis_z1_rot_deg format="float" value="0"/>
<opt_axis_z2_rot_deg format="float" value="0"/>
<image_flip_x_bool format="bool" value="false"/>
<image_flip_y_bool format="bool" value="false"/>
<cam_aspect format="float" value="0.9999"/>
<source_image_x_res format="float" value="1280.0"/>
<source_image_y_res format="float" value="806.0"/>
<cxoffs_pix format="float" value="5.35"/>
<cyoffs_pix format="float" value="6.477"/>
</intrinsic>
<extrinsic>
<rot__x_deg format="float" value="68.46"/>
<rot_z1_deg format="float" value="-89.34"/>
<rot_z2_deg format="float" value="0.75"/>
<pointx_mm format="float" value="4133.0"/>
<pointy_mm format="float" value="-97.0"/>
<pointz_mm format="float" value="919.31"/>
</extrinsic>
我的问题是,这些属性中有什么我可以用来替代 cv2.calibrate() 返回的值吗?
还有另一个问题here 解决了类似的问题。 但我不确定我拥有的值是否可以用作另一个问题中使用的 fx、fy、cx、cy、k1、k2、p1、p2。
【问题讨论】:
-
@TomWyllie 这是一个非常相似的问题,但这里的问题是我不知道这些值中的哪一个代表 fx、fy、cx、cy、k1、k2、p1、p2。
标签: python opencv image-processing fisheye