Laser Line

The Laser Line module detects a single red laser line within the current image assumed to be spanning the image in a horizontal direction from the right side to the left side of the image. The primary purpose of the Laser Line module is to detect a horizontal laser line such that one can use the detected values for collision or obstacle avoidance.

This module has been tested with the inexpensive laser line diode from Instapark. We have found this laser to be quite good quality for the price in comparison to other handheld line lasers.

Most lasers will oversaturate any camera. In order to best detect laser spots or lines you should increase the camera shutter speed or decrease the amount of light that is used to create an image. When making this change the overall image will reduce in light but allow the laser line to be better distinguished from the rest of the image and appear more reddish in color. Oversaturating the camera will cause color to become white as the red sensors will bleed into surrounding green or blue sensors.



1. Intensity Threshold - the value at which the laser light must be higher/brighter than in order to be detected. You can increase this value to remove darker areas from being incorrectly detected.

2. Color Threshold - the value at which the laser light must contain more red color in order to be detected. Depending on the intensity of your laser and the quality of your camera the laser line may appear more white than red. If this is the case then decrease this value which will allow more non-colored points to comprise part of the line.

3. Laser Color - the color of the laser being used.

4. Line Color - the color of the graphic line drawn where the laser line is detected.

5. Line Thickness - the thickness of the graphic line drawn where the laser line is detected.

6. Overlay On - the image on which the graphic line is drawn.




LOWEST_LASER_X, LOWEST_LASER_Y - The X,Y coordinate of the lowest detected part of the line.

HIGHEST_LASER_X, HIGHEST_LASER_Y - The X,Y coordinate of the highest detected part of the line.

AVERAGE_LASER_X, AVERAGE_LASER_Y - The average X,Y coordinate of the line

LASER_SLOPE - The average slope of the detected line

LASER_POINTS - An array containing the Y position of the detected line. Note that this array is the same size as the current width of the processed image. This array is NOT and X,Y list but in fact a single line bitmap that contains a 0 if no red laser point was detected in the column or a non-zero number that indicates the Y position of that part of the detected line. Note that if no line is detected them this array will contain all 0 values. If a straight laser line is detected in the middle of the image against a planar object then all values will be IMAGE_HEIGHT/2.

See Also

Laser Spot

For more information

David Laser Scanner
Active Stereo

 New Post 

Laser_Line Related Forum PostsLast postPostsViews
Point Cloud From Ring Laser
Hi all, We need to analyse a video, or still image and pull the point cloud data from a ring laser...
1 year 2 440
Laser 3D scanner for crop using RR
Hello there Do we have any module which allow me to to create a map of crop field with XY and Z axis? I want to us...
1 year 2 774
Defect Rubber
Hi Steven, I can not point out the defects in the central part of the rubber. I also have problems with the form c...
2 years 6 879
Laser line module
Is there a way to get the laser line to detect vertical laser lines? Thanks...
3 years 2 1091
Convert green laser line to red
What modules could be used to convert green laser lines to red so the images can work with the laser line module? ...
7 years 3 2505
Is this the way to go? Obstacle avoidance
My mobile robot has a forward facing camera for obstacle avoidance and path finding. I want to implement this logic. If there is...
7 years 8 2729
Seam tracking
Dear Steven I am enclosing a jpg. I need to find the co-ordinates of the point of intersection between the laser l...
7 years 4 2447
Laser line segmentation
Hi STeven, Nice job with the laser line module. I was wondering if there is a way to use that data?...
8 years 2 2492