mirror of https://github.com/opencv/opencv.git
Merge pull request #16052 from alalek:issue_16040
* calib3d: use normalized input in solvePnPGeneric() * calib3d: java regression test for solvePnPGeneric * calib3d: python regression test for solvePnPGenericpull/16068/head^2
parent
f21bde4d9f
commit
72f35e0626
4 changed files with 101 additions and 15 deletions
@ -0,0 +1,44 @@ |
||||
#!/usr/bin/env python |
||||
# Python 2/3 compatibility |
||||
from __future__ import print_function |
||||
|
||||
import numpy as np |
||||
import cv2 as cv |
||||
|
||||
from tests_common import NewOpenCVTests |
||||
|
||||
class solvepnp_test(NewOpenCVTests): |
||||
|
||||
def test_regression_16040(self): |
||||
obj_points = np.array([[0, 0, 0], [0, 1, 0], [1, 1, 0], [1, 0, 0]], dtype=np.float32) |
||||
img_points = np.array( |
||||
[[700, 400], [700, 600], [900, 600], [900, 400]], dtype=np.float32 |
||||
) |
||||
|
||||
cameraMatrix = np.array( |
||||
[[712.0634, 0, 800], [0, 712.540, 500], [0, 0, 1]], dtype=np.float32 |
||||
) |
||||
distCoeffs = np.array([[0, 0, 0, 0]], dtype=np.float32) |
||||
r = np.array([], dtype=np.float32) |
||||
x, r, t, e = cv.solvePnPGeneric( |
||||
obj_points, img_points, cameraMatrix, distCoeffs, reprojectionError=r |
||||
) |
||||
|
||||
def test_regression_16040_2(self): |
||||
obj_points = np.array([[0, 0, 0], [0, 1, 0], [1, 1, 0], [1, 0, 0]], dtype=np.float32) |
||||
img_points = np.array( |
||||
[[[700, 400], [700, 600], [900, 600], [900, 400]]], dtype=np.float32 |
||||
) |
||||
|
||||
cameraMatrix = np.array( |
||||
[[712.0634, 0, 800], [0, 712.540, 500], [0, 0, 1]], dtype=np.float32 |
||||
) |
||||
distCoeffs = np.array([[0, 0, 0, 0]], dtype=np.float32) |
||||
r = np.array([], dtype=np.float32) |
||||
x, r, t, e = cv.solvePnPGeneric( |
||||
obj_points, img_points, cameraMatrix, distCoeffs, reprojectionError=r |
||||
) |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
NewOpenCVTests.bootstrap() |
Loading…
Reference in new issue