Ask Your Question

Guido's profile - activity

2020-05-26 09:47:21 -0600 received badge  Popular Question (source)
2018-11-27 06:27:31 -0600 received badge  Notable Question (source)
2018-05-09 04:45:33 -0600 received badge  Popular Question (source)
2017-09-27 12:17:28 -0600 received badge  Famous Question (source)
2017-04-15 04:54:00 -0600 received badge  Taxonomist
2016-10-08 18:26:29 -0600 received badge  Notable Question (source)
2015-06-30 17:37:14 -0600 received badge  Notable Question (source)
2014-10-11 11:09:08 -0600 received badge  Popular Question (source)
2014-10-07 09:14:21 -0600 received badge  Nice Answer (source)
2014-09-29 10:02:59 -0600 commented question LineMOD using saved templates

Same here, when writing a detector it doesn't write the templates pyramides down.

2014-09-12 10:43:03 -0600 received badge  Popular Question (source)
2014-06-20 09:09:57 -0600 received badge  Necromancer (source)
2014-03-28 05:50:10 -0600 asked a question How to draw ellipse with first python function ?

Dear all,

I am trying to draw an ellipse with Opencv/Python, version 2.4.6.1. According to the doc, there are two functions :

Python: cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]]) → None
Python: cv2.ellipse(img, box, color[, thickness[, lineType]]) → None

I use the first as follow :

cv2.ellipse(img, (113, 155.6), (23.4, 15.2), 0.0, 0.0, 360.0, (255, 255, 255), -1);

but get the following error message

TypeError: ellipse() takes at most 5 arguments (8 given)

Any idea on how to solve this ?

2014-03-26 21:27:58 -0600 received badge  Self-Learner (source)
2014-03-26 11:39:11 -0600 answered a question Why python "line()" draw one line when called three times ?

Alright I solved this, and there were two errors. First, I wasn't retrieving the returned image. Second cv2.line doesn't return an image (it returns none) I got misled by the opencv 3.0.0 documentation.

2014-03-26 11:38:53 -0600 commented question Why python "line()" draw one line when called three times ?

Alright I solve this, and there were two errors. First, I wasn't retrieving the returned image. Seconde cv2.line doesn't return an image (it returns none) I got misled by the opencv 3.0.0 documentation.

2014-03-26 10:54:48 -0600 asked a question Why python "line()" draw one line when called three times ?

Hi,

I am trying to draw a coordinate frame on an image from some points. The code is the following

def draw(img, corners):
points = tuple(map(tuple, corners))
img = cv2.line(img, points[0], points[1], (0,0,255), 3)
img = cv2.line(img, points[0], points[2], (0,255,0), 3)
img = cv2.line(img, points[0], points[3], (255,0,0), 3)
return img

However, only the first of the three lines is drawn. Any idea on what is going wrong ?

Guido

2014-03-19 07:23:49 -0600 asked a question lmeds in solvePnPRansac

Hi there,

I am having some troubles having a stable solution with iterative solvePnPRansac with SIFT features. Iterative solvePnPRansac uses a Levemberg-Marquardt (LM) minimization step to refine an initial estimate. I have been told results could get better using Least Median of Squares (LMedS) in the LM step because it will remove the outliers RANSAC missed.

Is there a way to add LMedS to solvePnPRansac which doesn't imply recoding the solvePnP function ?

Best regards,

Guido

2014-03-19 06:48:25 -0600 commented question cvFindExtrinsicCameraParams

Well I'm using opencv 2.4.6.1 and as far as I see in the file calibration.cpp, the cvCalibratieCamera2 function uses cvFindExtrinsicCameraParams2. Am I wrong ? If so, where can I see the sources for the c++ api ?

2014-03-11 06:05:08 -0600 asked a question cvFindExtrinsicCameraParams

Hi there,

Can someone explain the algorithm used in cvFindExtrinsicCameraParams2 for the planar case ? Or provide some litterature about the subject ?

Best regards,

Guido

2014-02-24 09:25:48 -0600 commented question Store mat data in txt

Idd, the read operator doesn't work unless you use opencv's xml formatting. However, if you just need to write, the stream operator is a good alternative.

2014-02-24 06:58:24 -0600 commented question Store mat data in txt

You guys realize that the Mat class has builtin write and read functions associated with the "<<" and ">>" operators ? To write a matrix to a stream just do : fout << m.

2014-02-24 05:27:19 -0600 commented question constructing camera matrix out of euler angle and translation vector

Could you clean up your code, keep only the essential and format it with the code tags ?

2014-02-10 03:46:12 -0600 commented question I need to know from where can i get the source code of SIFT algorithm to match keypoints between 2 images?

SIFT alone will only allow you to describe your keypoints. Matching will require more algorithms, like nearest neighbour search.

2014-02-10 03:43:17 -0600 answered a question SolvePnP(), flags: which is the best method?

In terms of precision and speed, CV_EPNP is supposed to be a good compromise. Take a look at "EPnP: Accurate Non-Iterative O(n) Solution to the PnP Problem" by Vincent Lepetit, Francesc Moreno-Noguer and Pascal Fua for a detailed comparison with other methods.

However, as far as I am concerned, I could never get it to work properly. The only method that gives me coherent results is CV_ITERATIVE (default one). And if you take a look at the "Mastering Opencv" book, they always use the default version of solvePnP.

USe SolvePnPRansac if you have noisy points and possibly wrong matches between 2D and 3D points.

2014-02-03 03:10:40 -0600 commented answer How to compute the intrinsic parameters only (no extrinsic)

Johannes, thank you for your answer. My images are already undistorted and I could use Zhang's method if there is a c++ implementation available, which I have not looked for yet. The problem with opencv calibration is that I don't want extra computation done for extrinsic parameters. I really just need the intrinsic parameters.

2014-01-31 03:29:45 -0600 asked a question How to compute the intrinsic parameters only (no extrinsic)

Hi there,

Is there a function in opencv to compute only the intrinsic parameters from a set of pictures ? I do see there is one to compute both intrinsic and extrinsic. But I only want the intrinsic as I already have the extrinsic. Hope someone can help.

Best regards,

Guido

2013-12-12 03:58:54 -0600 asked a question Anyone looked into xtion reprojection error ?

Hi there,

I am trying to use the Xtion depth sensor. However, when I compute the reprojection error, i.e. when I project the given 3D coordinates to the corresponding rgb image, without moving the camera (so rvec = [0, 0, 0] and tvec = [0, 0, 0]), I get reprojection errors as high as 6 pixels. I calibrated the rgb camera and the error dropped to 4 pixels. This is still big.

I use the openni drivers from the ros package openni_launch and retrieve the depth_registered 3D points. I use the factory registration.

The steps I use are the following : Extract keypoints from an image Filter out the keypoints which 3D coordinates contain NaN Compute the reprojection error between the 3D

As anyone seen this problem too ? Is this error coming from a "too approximated" factory registration between rgb and ir cameras ? Any idea to improve the reprojection error appart from calibrating the ir/rgb poses ? Is there an easy way to calibrate the ir/rgb pose in openCV ?

2013-12-11 03:50:51 -0600 commented question solvePnP not giving identity

The whole problem was due to calibration issues. The kinect with factory calibration (rgb intrinsic and rgb/ir registration) has a huge reprojection error.

2013-12-05 08:47:26 -0600 asked a question solvePnP not giving identity

Hi,

I'm trying to understand how solvePnP really works. I use a kinect camera to get SIFT keypoints and the corresponding 3D points. I give the 2D/3D couples to solvePnP and I expect it to give me the identity matrix as this is equivalent to stare at the same scene without moving.

Result : though the rotation part is the identity, I get a strange translation vector : [0.05, 0.1, 0.8]. These values seem too large, and I can't understand why the Z part is so big compared to the others.

Overall the result is wrong as I get a huge translation along Z.

Any idea as to why this happens ?

2013-12-05 08:33:40 -0600 commented question Inconsistent results from SolvePnp

This may be a local minimum in which the iterative method get stuck. Could you try with P3P and EPNP flags ?

2013-11-22 17:53:57 -0600 asked a question How to enforce planarity for keypoints when matching an image to a collection

Hi,

This is a practical question about geometry verification when matching a collection of images to an input image. I have a collection of images of an object taken from various viewpoints and an input image of the same object. Now, I would like to find the image from my collection which best match the input knowing that my object is a plan.

So, I match the features from my input to the features of my collection, image by image. Then for each set of match, I search for the homography that has most inliers. The problem is that this is getting really slow when the collection size goes up.

Should I search for an homography for each pair of images (collection/input) or should I merge all the matches and try to find an homography in there ? Is there a way in the findHomography function to change the RANSAC settings ?

Hope someone will be able to help.

Best regards,

Guido Manfredi

2013-10-10 04:25:39 -0600 asked a question How to generate synthetic views of a plan

Hi,

I have a textured planar object and I would like to generate synthetic views of it from different angles.

I have a picture taken from the middle front of the plan, and a three euler angles describing the angle of the synthetic view to generate.

So, I'm looking for a homography describing the transformation.

Now, I use a rodrigues transform to get a rotation matrix from the three angles. The two first columns of the rotation matrix are the first columns of the homography matrix. But I don't know how to compute the translation part.

Any idea how to compute the translation part ? Any idea of another way to do this ? I know there is another way with the aspect ration and four points but I can't understand how it works.

Best regards,

Guido

2013-08-06 02:05:42 -0600 received badge  Teacher (source)
2013-08-01 08:24:59 -0600 commented question pose estimation from 2d-to-2d correspondences

What do you mean by "strange" ?

2013-08-01 08:15:45 -0600 answered a question Shape Tracking Question

For tracking, you can use VISP

http://www.irisa.fr/lagadic/visp/visp.html

However it is limited to rigid objects. For objects that can change shape, you can try the active contours functions in opencv :

snakeImage

Take a look at this thread

http://answers.opencv.org/question/1790/active-contours-in-opencv/

Hope this helps,

Guido

2013-08-01 08:04:19 -0600 answered a question Garment Cropping from mannequin

The motion seems very small, I don't think you will get precise results with registration techniques. I my opinion, you best chance is with color. If you somehow manage to model the skin color then you are good. In order to do so, and seeing how much specularities you have, you may try with mixtures of gaussians (however you may have problems for white garments).

2013-08-01 07:49:27 -0600 answered a question Detecting multiple instances of same object with Keypoint-Matching approach

Usually, when detecting various objects, you have a clustering step (mean shift for example) after key points detection. The key points close in the image are supposed to belong to the same object. Then you can execute the rest of your pipeline independently on each cluster.

For a more detailed approach you can take a look at : Object Recognition and Full Pose Registration from a Single Image for Robotic Manipulation, A. Collet.

At the section : "Pose estimation of multiple instances"

Hope this helps,

Guido

2013-08-01 07:02:21 -0600 commented answer How to use five-point.cpp

Thank you for this documentation. Do you think you could manage to get this on the opencv site ?

2013-07-26 09:15:18 -0600 commented answer How to use five-point.cpp

Nice, thanks. I too wonder why there is no doc.

2013-07-26 09:14:40 -0600 received badge  Scholar (source)
2013-07-26 07:27:27 -0600 asked a question How to use five-point.cpp

Hi there,

I notice a nice little function has appeared in opencv : five-point.cpp. However I can't figure how to use the various functions inside. Is there an example available ? If the functions are not mature yet, I would be glad to test them.

Best regards,

Guido

2013-02-20 02:54:17 -0600 received badge  Critic (source)
2013-02-19 15:17:25 -0600 asked a question Why SIFT detector returns duplicate keypoints ?

Hey there,

I don't know why, the SIFT detector is returning duplicate keypoints. This is messing all post processing. Is this wanted behaviour ?

Guido