I am looking into finding the 3D position and orientation of a QR code (quick response barcode).
I have used the tool in Vision Builder 2010 to read QR codes, but I would also like to find the position and orientation in 3D space for later robot manipulation.
I have seen some similar work done in augmented reality, but cannot finding what I need in LabVIEW/VBAI.
Have anyone worked with this before, or can someone give me some pointers on where to start?
One of the outputs of the QR read vi is the bounding box. This will give you the location, and may even provide some rotation information. This should at least get you going in the right direction. If you are lucky, the bounding box may have all the info you need. If it always starts in the same corner of the QR matrix, you would be done.
I don't really know how you would get 3D position, especially with only one camera. Perhaps look at the overall size and use that to estimate distance. Size should be 1/x to distance. This only works if the barcode is always the same physical size.
Thank you for response.
I have been looking some more at the QR read VI in LabVIEW. So far I have made a small code, reading an image, locating and reading the QR code, extracting the bounding box using the QR read VI, this is working perfectly now, so I end up with four points, (x,y) for each point.
I have been reading some more articles, and found that one approach to the problem is called the Coplanar P4P Problem, where you find the pose of a plane in 3D space relative to your camera (6 degrees of freedom), based on four coplanar points in your image, where no three points are colinear.
However implementing this seems to be nontrivial^
The implementation would also require the intrinsic parameters of the camera (focal length and principal point), but these I can easily find.
Article: [Pose Estimation based on Four Coplanar Point Correspondences]