Package org.opencv.imgproc
Class LineSegmentDetector
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.imgproc.LineSegmentDetector
-
public class LineSegmentDetector extends Algorithm
Line segment detector class following the algorithm described at CITE: Rafael12 . Note: Implementation has been removed due original code license conflict
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedLineSegmentDetector(long addr)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static LineSegmentDetector__fromPtr__(long addr)intcompareSegments(Size size, Mat lines1, Mat lines2)Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.intcompareSegments(Size size, Mat lines1, Mat lines2, Mat _image)Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.voiddetect(Mat _image, Mat _lines)Finds lines in the input image.voiddetect(Mat _image, Mat _lines, Mat width)Finds lines in the input image.voiddetect(Mat _image, Mat _lines, Mat width, Mat prec)Finds lines in the input image.voiddetect(Mat _image, Mat _lines, Mat width, Mat prec, Mat nfa)Finds lines in the input image.voiddrawSegments(Mat _image, Mat lines)Draws the line segments on a given image.protected voidfinalize()-
Methods inherited from class org.opencv.core.Algorithm
clear, empty, getDefaultName, getNativeObjAddr, save
-
-
-
-
Method Detail
-
__fromPtr__
public static LineSegmentDetector __fromPtr__(long addr)
-
compareSegments
public int compareSegments(Size size, Mat lines1, Mat lines2, Mat _image)
Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.- Parameters:
size- The size of the image, where lines1 and lines2 were found.lines1- The first group of lines that needs to be drawn. It is visualized in blue color.lines2- The second group of lines. They visualized in red color._image- Optional image, where the lines will be drawn. The image should be color(3-channel) in order for lines1 and lines2 to be drawn in the above mentioned colors.- Returns:
- automatically generated
-
compareSegments
public int compareSegments(Size size, Mat lines1, Mat lines2)
Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.- Parameters:
size- The size of the image, where lines1 and lines2 were found.lines1- The first group of lines that needs to be drawn. It is visualized in blue color.lines2- The second group of lines. They visualized in red color. in order for lines1 and lines2 to be drawn in the above mentioned colors.- Returns:
- automatically generated
-
detect
public void detect(Mat _image, Mat _lines, Mat width, Mat prec, Mat nfa)
Finds lines in the input image. This is the output of the default parameters of the algorithm on the above shown image. - Parameters:
_image- A grayscale (CV_8UC1) input image. If only a roi needs to be selected, use:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);_lines- A vector of Vec4i or Vec4f elements specifying the beginning and ending point of a line. Where Vec4i/Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient.width- Vector of widths of the regions, where the lines are found. E.g. Width of line.prec- Vector of precisions with which the lines are found.nfa- Vector containing number of false alarms in the line region, with precision of 10%. The bigger the value, logarithmically better the detection.- -1 corresponds to 10 mean false alarms
- 0 corresponds to 1 mean false alarm
- 1 corresponds to 0.1 mean false alarms This vector will be calculated only when the objects type is #LSD_REFINE_ADV.
-
detect
public void detect(Mat _image, Mat _lines, Mat width, Mat prec)
Finds lines in the input image. This is the output of the default parameters of the algorithm on the above shown image. - Parameters:
_image- A grayscale (CV_8UC1) input image. If only a roi needs to be selected, use:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);_lines- A vector of Vec4i or Vec4f elements specifying the beginning and ending point of a line. Where Vec4i/Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient.width- Vector of widths of the regions, where the lines are found. E.g. Width of line.prec- Vector of precisions with which the lines are found. bigger the value, logarithmically better the detection.- -1 corresponds to 10 mean false alarms
- 0 corresponds to 1 mean false alarm
- 1 corresponds to 0.1 mean false alarms This vector will be calculated only when the objects type is #LSD_REFINE_ADV.
-
detect
public void detect(Mat _image, Mat _lines, Mat width)
Finds lines in the input image. This is the output of the default parameters of the algorithm on the above shown image. - Parameters:
_image- A grayscale (CV_8UC1) input image. If only a roi needs to be selected, use:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);_lines- A vector of Vec4i or Vec4f elements specifying the beginning and ending point of a line. Where Vec4i/Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient.width- Vector of widths of the regions, where the lines are found. E.g. Width of line. bigger the value, logarithmically better the detection.- -1 corresponds to 10 mean false alarms
- 0 corresponds to 1 mean false alarm
- 1 corresponds to 0.1 mean false alarms This vector will be calculated only when the objects type is #LSD_REFINE_ADV.
-
detect
public void detect(Mat _image, Mat _lines)
Finds lines in the input image. This is the output of the default parameters of the algorithm on the above shown image. - Parameters:
_image- A grayscale (CV_8UC1) input image. If only a roi needs to be selected, use:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);_lines- A vector of Vec4i or Vec4f elements specifying the beginning and ending point of a line. Where Vec4i/Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient. bigger the value, logarithmically better the detection.- -1 corresponds to 10 mean false alarms
- 0 corresponds to 1 mean false alarm
- 1 corresponds to 0.1 mean false alarms This vector will be calculated only when the objects type is #LSD_REFINE_ADV.
-
drawSegments
public void drawSegments(Mat _image, Mat lines)
Draws the line segments on a given image.- Parameters:
_image- The image, where the lines will be drawn. Should be bigger or equal to the image, where the lines were found.lines- A vector of the lines that needed to be drawn.
-
-