Ask Your Question

Martin's profile - activity

2019-03-13 07:03:30 -0600 received badge  Notable Question (source)
2019-01-08 03:59:04 -0600 received badge  Famous Question (source)
2017-02-23 17:50:47 -0600 received badge  Popular Question (source)
2016-07-04 16:21:40 -0600 received badge  Nice Question (source)
2016-02-22 04:42:47 -0600 received badge  Notable Question (source)
2014-11-06 16:46:14 -0600 received badge  Popular Question (source)
2014-07-15 14:37:41 -0600 received badge  Nice Question (source)
2013-03-01 02:04:04 -0600 asked a question Laser scanner and the math behind

Hi, I need to confess I'm lost( or stupid:) I'm not able to understand the math I need for my laser scanner project. I will try to highlight my greatest problem.

The first is the setup. It is let say common. Camera + line laser 10 cm apart from the camera, closing 85deg angle with the camera. Let say I'm able to somehow get intrinsic matrix by chessboard calibration.

I will put some thing before the camera and the camera will see the curve on in created by the line laser. Now I need to calculate the Z-index of points this curve contains. But how???

1)Extrinsic matrix can be calculated according to chess board position. So if I will put the chessboard in to the laser plane(chessboard will have the same direction like the laser plane) can I use the extrinsic matrix to calculate the Z-index( I will measure the distance to the corner of the chessboard that I will consider to be the coordinates center)

or

2) Can I just calibrate as usually and let the laser shine. Find out the lines created on the chessboard and let openCV to calculate homography from image plane to the plane created by the laser lines on the chessboards? I can again measure the distance from the first chessboard to settle correctly the scale, to see the real word dimensions.

or

3) or none above works and I should change my project:)

I will appreciate any hint, link whatever.

Regards

Martin

2013-02-21 01:42:33 -0600 commented answer Results of camera calibration vary

Sounds reasonable. With chessboard closer to the camera the result seems to be better. I'm still having big avg.backprojection error, so I have some more questions please: 1) the cx,cy values are not very often referring to the exact middle of the sensor, is there any way how I can find them and use them as fixed afterwards? 2)What exactly is the "CV_CALIB_SAME_FOCAL_LENGTH" is it just to simplify the calculation of the calibration? 3)Is it at all possible to get backprojection errors really close to zero with such a bad camera? 4) can I somehow check manually the correctness of the intrinsic matrix? Let say I will use the points on the chessboard using real size in mm and than for known distance of some point from the camera calculate it's projection and compare them with real picture?

2013-02-19 12:48:43 -0600 commented answer Results of camera calibration vary

Thank you very for your advices. I switched to OpenCV from JavaCV to try out with the original calibration demo. Now I'm playing with it and hope will get better results. Just small question it is not important to place the chessboard far away from camera? You said that it is important to cover as much as possible of the image with the chessboard I thought the difference in position(depth) are making the results better:-/

2013-02-17 14:18:26 -0600 asked a question Results of camera calibration vary

Hi, I have a problem during camera calibration using chess board. I'm using C++ calibrateCamera method to find out the intrinsic matrix. The problem is the fx, fy are varying from 700 to 1100 depending on the distance from camera the cx, cy vary as well. My question is, can it be caused by poor camera quality(using some no-name webcam with resolution 640x480). Can this poor resolution be the only problem??

I need to have really accurate intrinsic matrix and in this case it seems I will need to calculate it by myself:(

Just to be sure for webcam with fixed focus length, the intrinsic matrix should be always the same isn't right???

Thanks for clarification.

Martin

2013-02-12 04:58:36 -0600 received badge  Scholar (source)
2013-02-12 04:58:12 -0600 received badge  Supporter (source)
2013-02-12 04:58:05 -0600 received badge  Supporter (source)
2013-02-12 04:54:31 -0600 commented answer Camera with auto-focus and 3D reconstruction

Merci beaucoup!

2013-02-12 04:17:09 -0600 commented answer Camera with auto-focus and 3D reconstruction

I thought I can some how use the chessboard to do this. If I find the corners then I must know where the chessboard is. The laser is bound with the camera 10cm next to the objective let's say form 85 degrees angle. I hope I can find the line on the chessboard, from it I can extract 2 point and next 2 points from chessboard in different position, then I hope I can use this points(that describes the laser plane) to call opencv findHomography matrix and then I have the whole chain.

So the chain is Intrinsic * Distortion * Projection * Homography. I think the extrisic matrix means(Projection*Homography). I seams it is common principle, common but not enough simple for me to understand;)

2013-02-12 04:01:50 -0600 commented answer Camera with auto-focus and 3D reconstruction

If you know where the laser plane is in space you can do this, every laser line the camera will see must be part of the laser plane. So if you know how to describe the laser plane, means you know how the points are transformed from the laser plane to the sensor plane, you can do that in reverse an for a point in 2D you will find point on the 2D laser plane and from this you can calculate the 3D coordinates. Nice theory isn't it:)

2013-02-12 03:34:31 -0600 received badge  Student (source)
2013-02-12 02:56:11 -0600 commented answer Camera with auto-focus and 3D reconstruction

Thanks for quick answer. I thought it is important the chessboard position will vary. I understand you want to neglect the influence of auto-focus, will try anyway. Is it correct the intrinsic matrix should be always nearly the same for the same camera setup?

It will be line laser shining on the scene, this line creates the laser plane, so my idea that there will be some matrix chain that will give me for specific 2D point of laser line in picture it's 3D coordinate on the laser plane. Just now I only want to convert the laser line to 3D point. I need to confess I'm little bit lost in here:(

I wanted to start with moving object, but afterward the camera with the beam will move. I hope for both case it is just some additional rotation with different center.

2013-02-12 02:02:17 -0600 asked a question Camera with auto-focus and 3D reconstruction

Hi, I'm using some very simple web cam, during the chessboard calibration I got every time very different intrinsic matrix(especially the part with focal lengths), is it because the camera has auto-focus? If I take the pictures of multiple chessboard position the undistorted image is afterward more distorted then the original, how can it be? Is it possible the auto-focus is disturb somehow the distortion parameters calculation? When I want to calculate projection matrix I need non-variable focus length, needn't I?

But I don't understand how such a camera can have auto-focus, when the there is need to screw the lens to make the picture sharp? I thought auto-focus is moving some lens to focus??

And second question is if I want to make a laser scanner. I need to somehow calculate the homography to laser plane is it right? So probably I can directly find the laser line on the chessboard during the calibration. But do I need to measure the distance of the chessboard or can I somehow calculate the distance from the chessboard? Do I need chessboard 3D coordinates to calculate the extrinsic matrix?

Thanks for your time

Regards

Martin