Webcam Based Laser Rangefinder

"laser-beam is projected onto an object in the field of view of a camera. This laser beam is ideally parallel to the optical axis of the camera. The dot from the laser is captured along with the rest of the scene by the camera. A simple algorithm is run over the image looking for the brightest pixels. Assuming that the laser is the brightest area of the scene the dots position in the image frame is known. Then we need to calculate the range to the object based on where along the y axis of the image this laser dot falls. The closer to the center of the image, the farther away the object is D = h /tan (theta) where thefa = pfc * rpc + ro ."
can anybody help me regarding this project?

댓글 수: 9

Doug Hull
Doug Hull 2013년 9월 19일
There are two parts to this:
1.) Finding the Dot. 2.) Converting the X,Y of the Dot, to X,Y,Z in the scene.
Which are you having problems with, and what have you tried?
The problem here is, knowing the location of the Dot in pixels will essentially tell you a line in the 3-d scene where the dot could be. You will need two cameras, or some inference from moving the Dot to do this in any real way.
Walter Roberson
Walter Roberson 2013년 9월 19일
At the moment I cannot see any justification for saying that the closer to the center of the image, the farther away the object is ?? Not unless what is being discussed is the width of the image of the laser, and "closer to the center of the image" refers to how wide the laser spot spreads away from the center of the image?
Yogesh
Yogesh 2013년 9월 22일
hello sir, Dong Hull i am new to matlab trying to learn more in image processing can you please elaborate more how to convert x,y co-ordinates of point to x,y,z and then afterwards what are the steps ?? please reply
Walter Roberson
Walter Roberson 2013년 9월 22일
Could you post a couple of sample images ?
Yogesh
Yogesh 2013년 9월 25일
please reply . how to convert x,y co-ordinate to x,y,z in the scene ??
Yogesh
Yogesh 2013년 9월 25일
some sample images
Ryan
Ryan 2013년 9월 25일
Simply put, you will need to determine the change in radius of the beam vs distance in order to build an algorithm for finding your z dimension. Keep in mind that the resolution of the webcam will most likely be the limiting factor for measurement. You may want to find the brightest pixels and attempt to build a square and with side length L where the center is L/sqrt(2) from the corner ( giving a radius for a circle estimate since you are working in square pixels) To the best of my knowledge MATLAB doesnt have a built in method for (x,y) -> (x,y,z) as you are asking for. Best of luck
Yogesh
Yogesh 2013년 9월 26일
I had tried lots of time but not getting and I am very confused now can u please mail the code at yogerocks@gmail.com
Walter Roberson
Walter Roberson 2013년 9월 26일
What is your current algorithm, taking into account the hint I gave you ?

댓글을 달려면 로그인하십시오.

답변 (2개)

Walter Roberson
Walter Roberson 2013년 9월 25일

0 개 추천

regionprops() can give you the equivalent-radius of a blob. But the actual radius is constant. So now what you need to consider is this: if you have two line segements of the same length, and one is N times further away than the other, then how will the angular size of the two line segments differ?
Hint: the spreading angle from the center of the beam (center of the optical axis) does not change with distance.
ravi
ravi 2014년 2월 20일

0 개 추천

this code is a part of rangefinder
<http://www.mathworks.in/matlabcentral/fileexchange/45638-laser-spot-detection>
hope this will help good luck

댓글 수: 2

erol karatas
erol karatas 2016년 8월 26일
hi ravi that link doesnt work . could you update links please.
Walter Roberson
Walter Roberson 2016년 8월 27일
The file appears to have been withdrawn or administratively deleted.

댓글을 달려면 로그인하십시오.

카테고리

질문:

2013년 9월 19일

댓글:

2016년 8월 27일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by