OpenCV for Unity 2.6.4
Enox Software / Please refer to OpenCV official document ( http://docs.opencv.org/4.10.0/index.html ) for the details of the argument of the method.
Loading...
Searching...
No Matches
OpenCVForUnity.ImgprocModule.LineSegmentDetector Class Reference

Line segment detector class. More...

Public Member Functions

int compareSegments (in Vec2d size, Mat lines1, Mat lines2)
 Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.
 
int compareSegments (in Vec2d size, Mat lines1, Mat lines2, Mat image)
 Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.
 
int compareSegments (in(double width, double height) size, Mat lines1, Mat lines2)
 Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.
 
int compareSegments (in(double width, double height) size, Mat lines1, Mat lines2, Mat image)
 Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.
 
int compareSegments (Size size, Mat lines1, Mat lines2)
 Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.
 
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.
 
void detect (Mat image, Mat lines)
 Finds lines in the input image.
 
void detect (Mat image, Mat lines, Mat width)
 Finds lines in the input image.
 
void detect (Mat image, Mat lines, Mat width, Mat prec)
 Finds lines in the input image.
 
void detect (Mat image, Mat lines, Mat width, Mat prec, Mat nfa)
 Finds lines in the input image.
 
void drawSegments (Mat image, Mat lines)
 Draws the line segments on a given image.
 
- Public Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm
virtual void clear ()
 Clears the algorithm state.
 
virtual bool empty ()
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual string getDefaultName ()
 
IntPtr getNativeObjAddr ()
 
void save (string filename)
 
- Public Member Functions inherited from OpenCVForUnity.DisposableObject
void Dispose ()
 
void ThrowIfDisposed ()
 

Static Public Member Functions

static new LineSegmentDetector __fromPtr__ (IntPtr addr)
 
- Static Public Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm
static Algorithm __fromPtr__ (IntPtr addr)
 
- Static Public Member Functions inherited from OpenCVForUnity.DisposableObject
static IntPtr ThrowIfNullIntPtr (IntPtr ptr)
 

Protected Member Functions

override void Dispose (bool disposing)
 
- Protected Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm
- Protected Member Functions inherited from OpenCVForUnity.DisposableOpenCVObject
 DisposableOpenCVObject ()
 
 DisposableOpenCVObject (bool isEnabledDispose)
 
 DisposableOpenCVObject (IntPtr ptr)
 
 DisposableOpenCVObject (IntPtr ptr, bool isEnabledDispose)
 
- Protected Member Functions inherited from OpenCVForUnity.DisposableObject
 DisposableObject ()
 
 DisposableObject (bool isEnabledDispose)
 

Additional Inherited Members

- Package Functions inherited from OpenCVForUnity.CoreModule.Algorithm
- Package Attributes inherited from OpenCVForUnity.DisposableOpenCVObject
- Properties inherited from OpenCVForUnity.DisposableObject
bool IsDisposed [get, protected set]
 
bool IsEnabledDispose [get, set]
 

Detailed Description

Line segment detector class.

following the algorithm described at [Rafael12] .

Note
Implementation has been removed from OpenCV version 3.4.6 to 3.4.15 and version 4.1.0 to 4.5.3 due original code license conflict. restored again after Computation of a NFA code published under the MIT license.

Member Function Documentation

◆ __fromPtr__()

static new LineSegmentDetector OpenCVForUnity.ImgprocModule.LineSegmentDetector.__fromPtr__ ( IntPtr addr)
static

◆ compareSegments() [1/6]

int OpenCVForUnity.ImgprocModule.LineSegmentDetector.compareSegments ( in Vec2d size,
Mat lines1,
Mat lines2 )

Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.

Parameters
sizeThe size of the image, where lines1 and lines2 were found.
lines1The first group of lines that needs to be drawn. It is visualized in blue color.
lines2The second group of lines. They visualized in red color.
imageOptional 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.

◆ compareSegments() [2/6]

int OpenCVForUnity.ImgprocModule.LineSegmentDetector.compareSegments ( in Vec2d size,
Mat lines1,
Mat lines2,
Mat image )

Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.

Parameters
sizeThe size of the image, where lines1 and lines2 were found.
lines1The first group of lines that needs to be drawn. It is visualized in blue color.
lines2The second group of lines. They visualized in red color.
imageOptional 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.

◆ compareSegments() [3/6]

int OpenCVForUnity.ImgprocModule.LineSegmentDetector.compareSegments ( in(double width, double height) size,
Mat lines1,
Mat lines2 )

Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.

Parameters
sizeThe size of the image, where lines1 and lines2 were found.
lines1The first group of lines that needs to be drawn. It is visualized in blue color.
lines2The second group of lines. They visualized in red color.
imageOptional 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.

◆ compareSegments() [4/6]

int OpenCVForUnity.ImgprocModule.LineSegmentDetector.compareSegments ( in(double width, double height) size,
Mat lines1,
Mat lines2,
Mat image )

Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.

Parameters
sizeThe size of the image, where lines1 and lines2 were found.
lines1The first group of lines that needs to be drawn. It is visualized in blue color.
lines2The second group of lines. They visualized in red color.
imageOptional 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.

◆ compareSegments() [5/6]

int OpenCVForUnity.ImgprocModule.LineSegmentDetector.compareSegments ( Size size,
Mat lines1,
Mat lines2 )

Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels.

Parameters
sizeThe size of the image, where lines1 and lines2 were found.
lines1The first group of lines that needs to be drawn. It is visualized in blue color.
lines2The second group of lines. They visualized in red color.
imageOptional 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.

◆ compareSegments() [6/6]

int OpenCVForUnity.ImgprocModule.LineSegmentDetector.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
sizeThe size of the image, where lines1 and lines2 were found.
lines1The first group of lines that needs to be drawn. It is visualized in blue color.
lines2The second group of lines. They visualized in red color.
imageOptional 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.

◆ detect() [1/4]

void OpenCVForUnity.ImgprocModule.LineSegmentDetector.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
imageA 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);
linesA vector of Vec4f elements specifying the beginning and ending point of a line. Where Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient.
widthVector of widths of the regions, where the lines are found. E.g. Width of line.
precVector of precisions with which the lines are found.
nfaVector 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() [2/4]

void OpenCVForUnity.ImgprocModule.LineSegmentDetector.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
imageA 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);
linesA vector of Vec4f elements specifying the beginning and ending point of a line. Where Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient.
widthVector of widths of the regions, where the lines are found. E.g. Width of line.
precVector of precisions with which the lines are found.
nfaVector 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() [3/4]

void OpenCVForUnity.ImgprocModule.LineSegmentDetector.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
imageA 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);
linesA vector of Vec4f elements specifying the beginning and ending point of a line. Where Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient.
widthVector of widths of the regions, where the lines are found. E.g. Width of line.
precVector of precisions with which the lines are found.
nfaVector 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() [4/4]

void OpenCVForUnity.ImgprocModule.LineSegmentDetector.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
imageA 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);
linesA vector of Vec4f elements specifying the beginning and ending point of a line. Where Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient.
widthVector of widths of the regions, where the lines are found. E.g. Width of line.
precVector of precisions with which the lines are found.
nfaVector 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.

◆ Dispose()

override void OpenCVForUnity.ImgprocModule.LineSegmentDetector.Dispose ( bool disposing)
protectedvirtual

◆ drawSegments()

void OpenCVForUnity.ImgprocModule.LineSegmentDetector.drawSegments ( Mat image,
Mat lines )

Draws the line segments on a given image.

Parameters
imageThe image, where the lines will be drawn. Should be bigger or equal to the image, where the lines were found.
linesA vector of the lines that needed to be drawn.

The documentation for this class was generated from the following files: