Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

build3Dmodel.cpp or alternatives?

Greeting guys ! I have just started working with opencv, apologize if i am asking some silly question.

After done the camera calibration, I have obtained the distortion coefficient. Then I learnt this 2 formula from mathworks for corrected x and y.

xdistorted = x(1 + k1r2 + k2r4 + k3r6)
ydistorted = y(1 + k1
r2 + k2r4 + k3r6)

I then use the information to try to render the object in 3D space, by changing the original (x, y) coordinate obtained from detected edges in binary image to (corrected x, corrected y)
Given the z=0, my output is not satisfying.
.
.

My question is
1. am i doing it wrong, is this even works for rendering object in 3 dimensional?
2. How should I do to get 3D object?
3. Any other method or sample to learn other than
https://github.com/npinto/opencv/blob/master/samples/cpp/build3dmodel.cpp ?

I went through https://github.com/npinto/opencv/blob/master/samples/cpp/build3dmodel.cpp,
but I am having problem with the installation feature2d, I don't think I am doing it right, because I got error in this 2 lines at 665 and 666. (i am referring document online now to solve it)

Ptr<featuredetector> detector = FeatureDetector::create(detectorName);
Ptr<descriptorextractor> descriptorExtractor = DescriptorExtractor::create(descriptorExtractorName);

Appreciate any replies.