Mercurial > hg > nsaunier > traffic-intelligence
comparison python/tests/cvutils.txt @ 929:be28a3538dc9
work in progress on projection
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Wed, 12 Jul 2017 18:00:53 -0400 |
| parents | 52aa03260f03 |
| children | 7db0f2853bfd |
comparison
equal
deleted
inserted
replaced
| 928:063d1267585d | 929:be28a3538dc9 |
|---|---|
| 1 >>> import cv2, cvutils | 1 >>> import cv2, cvutils |
| 2 >>> from numpy import array, round | 2 >>> from numpy import array, round, ones |
| 3 >>> img = cv2.imread("../samples/val-dor-117-111.png") | 3 >>> img = cv2.imread("../samples/val-dor-117-111.png") |
| 4 >>> width = img.shape[1] | 4 >>> width = img.shape[1] |
| 5 >>> height = img.shape[0] | 5 >>> height = img.shape[0] |
| 6 >>> intrinsicCameraMatrix = array([[ 377.42, 0. , 639.12], [ 0. , 378.43, 490.2 ], [ 0. , 0. , 1. ]]) | 6 >>> intrinsicCameraMatrix = array([[ 377.42, 0. , 639.12], [ 0. , 378.43, 490.2 ], [ 0. , 0. , 1. ]]) |
| 7 >>> [map1, map2] = cvutils.computeUndistortMaps(width, height, 1.31, intrinsicCameraMatrix, [-0.11759321, 0.0148536, 0.00030756, -0.00020578, -0.00091816]) | 7 >>> distortionCoefficients = array([-0.11759321, 0.0148536, 0.00030756, -0.00020578, -0.00091816]) |
| 8 >>> distortionCoefficients = array([-0.11759321, 0., 0., 0., 0.]) | |
| 9 >>> multiplicationFactor = 1.31 | |
| 10 >>> [map1, map2] = cvutils.computeUndistortMaps(width, height, multiplicationFactor, intrinsicCameraMatrix, distortionCoefficients) | |
| 8 >>> undistorted = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR) | 11 >>> undistorted = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR) |
| 9 >>> (undistorted.shape == array([int(round(height*1.31)), int(round(width*1.31)), 3])).all() | 12 >>> (undistorted.shape == array([int(round(height*multiplicationFactor)), int(round(width*multiplicationFactor)), 3])).all() |
| 10 True | 13 True |
| 14 >>> imgPoints = array([[[150.,170.],[220.,340.],[340.,440.],[401.,521.]]]) | |
| 15 >>> newCameraMatrix = cv2.getDefaultNewCameraMatrix(intrinsicCameraMatrix, (int(round(width*multiplicationFactor)), int(round(height*multiplicationFactor))), True) | |
| 16 >>> undistortedPoints = cv2.undistortPoints(imgPoints, intrinsicCameraMatrix, distortionCoefficients, P = newCameraMatrix).reshape(-1, 2) | |
| 17 >>> tmp = ones((imgPoints[0].shape[0], 3)) | |
| 18 >>> tmp[:,:2] = undistortedPoints | |
| 19 >>> origPoints = cv2.projectPoints(tmp, (0.,0.,0.), (0.,0.,0.), intrinsicCameraMatrix, distortionCoefficients)[0].reshape(-1,2) |
