Quantcast
Channel: OpenCV Q&A Forum - Latest question feed
Viewing all articles
Browse latest Browse all 19555

Trying to re-distort image points using projectPoints

$
0
0
Knowing things about a video-feed from a GoPro camera, I would like to draw on top of the image, which in terms requires me to go from undistorted to distorted image points. I've tried to use projectPoints, since the documentation states this should suffice, but the results doesn't look correct to me. The following is what I'm trying: Vec d = Vec(k1, k2, p1, p2, k3, k4, k5, k6); [1740 0 1919.5] intrinsic = [ 0 1745 1079.5] (3x3 float matrix) [ 0 0 1 ] My function takes an undistorted image-point, `undistorted`, converts into a 1x3 matrix, and i expect an 1x2 matrix containing the distorted point in return. Mat dmat = Mat_(1,3); Mat umat = (Mat_(1,3) << undistorted.x, undistorted.y, 1.0); projectPoints(umat, Vec3f(0,0,0), Vec3f(0,0,0), intr, d, dmat); A sample input might be `Point2f(1920,315)`, returning `[-6.15e+6, -1.86e+6]` while [manually calculating the distorted point](https://en.wikipedia.org/wiki/Distortion_(optics)#Software_correction) gives me `[1919.93, 257.136]` which seems more likely. I am suspecting `projectPoints` not to play well with my intrinsic matrix, should it (and image points) be normalized first? Any hints on what might be wrong?

Viewing all articles
Browse latest Browse all 19555

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>