Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to project points from undistort image to distort image?

I undistorted the fisheye lens image with help of cv::fisheye::calibrate and found below coefficients.

K = 
array([[541.11407173,   0.        , 659.87320043],
       [  0.        , 541.28079025, 318.68920531],
       [  0.        ,   0.        ,   1.        ]])
D =
array([[-3.91414244e-02],
       [-4.60198728e-03],
       [-3.02912651e-04],
       [ 2.83586453e-05]])

new_K = cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(K, D, (1280, 720), np.eye(3), balance=1, new_size=(3400, 1912), fov_scale=1)
map1, map2 = cv2.fisheye.initUndistortRectifyMap(K, D, np.eye(3), new_K, (3400, 1912), cv2.CV_16SC2)
undistorted_img = cv2.remap(distorted_img, map1, map2, interpolation=cv2.INTER_LINEAR, borderMode=cv2.BORDER_CONSTANT)

image description image description

How to find x and y ?

How to project points from undistort image to distort image?

I undistorted the fisheye lens image with help of cv::fisheye::calibrate and found below coefficients.

K = 
array([[541.11407173,   0.        , 659.87320043],
       [  0.        , 541.28079025, 318.68920531],
       [  0.        ,   0.        ,   1.        ]])
D =
array([[-3.91414244e-02],
       [-4.60198728e-03],
       [-3.02912651e-04],
       [ 2.83586453e-05]])

new_K = cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(K, D, (1280, 720), np.eye(3), balance=1, new_size=(3400, 1912), fov_scale=1)
map1, map2 = cv2.fisheye.initUndistortRectifyMap(K, D, np.eye(3), new_K, (3400, 1912), cv2.CV_16SC2)
undistorted_img = cv2.remap(distorted_img, map1, map2, interpolation=cv2.INTER_LINEAR, borderMode=cv2.BORDER_CONSTANT)

image description image description

How to find x and y ?