Ask Your Question
1

Finding 3D coordinate when all 3 coordinates can vary in the object coordinate system

asked 2014-02-26 01:47:22 -0600

silentvalley gravatar image

updated 2014-02-27 00:05:21 -0600

I have the 3D coordinates of 4 coplanar points of my target in the object coordinate system.I also have their the 2D coordinates in every frame of a video.I have also calculated the intrinsic parameters (M) for the camera, the R (rotation) and t (translation) matrices between the object coordinate system and the camera coordinate system using solvepnp(). I have read from here the complete process,which is very clear.It is also similar to the process I followed.Therefore I wanted to use the same equation

s [u v 1]T = M ( R [X Y Z]T + t)

for calculating my 3D coordinates but I have no constant as the link explains for calculating s.My target rotates about the x axis in the OpenCV coordinate system.My questions are -

  1. Can anyone suggest me a way to find s? Is it definitely mandatory for this calculation or can i use s=1?
  2. Is there any other methods for calculating the 3d point with what parameters I have?
edit retag flag offensive close merge delete

Comments

i updated the link i referred to in the question

silentvalley gravatar imagesilentvalley ( 2014-02-27 00:04:08 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
1

answered 2014-02-26 13:01:44 -0600

Will Stewart gravatar image

updated 2014-02-26 13:41:40 -0600

I'm not completely sure I understand your precise problem, but have you researched findHomography() and perspectiveTransform()? http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html

From one plane to another requires one pose; http://dsp.stackexchange.com/questions/1484/how-to-compute-camera-pose-from-homography-matrix

to a 3D plane requires at least two poses. http://stackoverflow.com/questions/7836134/get-3d-coord-from-2d-image-pixel-if-we-know-extrinsic-and-intrinsic-parameters/10750648#10750648

edit flag offensive delete link more

Comments

Thanks for the answer. I have updated my question. And to answer your other question - yes, i have used findHomography() to find the 2d image points to give as input to solvepnp().

silentvalley gravatar imagesilentvalley ( 2014-02-27 00:09:31 -0600 )edit

Question Tools

Stats

Asked: 2014-02-26 01:47:22 -0600

Seen: 1,871 times

Last updated: Feb 27 '14