View Source Evision.LineSegmentDetector (Evision v0.1.8)

Link to this section Summary

cv

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

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

Finds lines in the input image.

Finds lines in the input image.

Draws the line segments on a given image.

Link to this section cv

Link to this function

compareSegments(self, size, lines1, lines2)

View Source

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

Positional Arguments
  • size: Size.

    The size of the image, where lines1 and lines2 were found.

  • lines1: Evision.Mat.

    The first group of lines that needs to be drawn. It is visualized in blue color.

  • lines2: Evision.Mat.

    The second group of lines. They visualized in red color.

Return
  • image: Evision.Mat.

    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.

Python prototype (for reference):

compareSegments(size, lines1, lines2[, image]) -> retval, image
Link to this function

compareSegments(self, size, lines1, lines2, opts)

View Source

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

Positional Arguments
  • size: Size.

    The size of the image, where lines1 and lines2 were found.

  • lines1: Evision.Mat.

    The first group of lines that needs to be drawn. It is visualized in blue color.

  • lines2: Evision.Mat.

    The second group of lines. They visualized in red color.

Return
  • image: Evision.Mat.

    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.

Python prototype (for reference):

compareSegments(size, lines1, lines2[, image]) -> retval, image

Finds lines in the input image.

Positional Arguments
  • image: Evision.Mat.

    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);

Return
  • lines: Evision.Mat.

    A 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.

  • width: Evision.Mat.

    Vector of widths of the regions, where the lines are found. E.g. Width of line.

  • prec: Evision.Mat.

    Vector of precisions with which the lines are found.

  • nfa: Evision.Mat.

    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.

This is the output of the default parameters of the algorithm on the above shown image. image

Python prototype (for reference):

detect(image[, lines[, width[, prec[, nfa]]]]) -> lines, width, prec, nfa
Link to this function

detect(self, image, opts)

View Source

Finds lines in the input image.

Positional Arguments
  • image: Evision.Mat.

    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);

Return
  • lines: Evision.Mat.

    A 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.

  • width: Evision.Mat.

    Vector of widths of the regions, where the lines are found. E.g. Width of line.

  • prec: Evision.Mat.

    Vector of precisions with which the lines are found.

  • nfa: Evision.Mat.

    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.

This is the output of the default parameters of the algorithm on the above shown image. image

Python prototype (for reference):

detect(image[, lines[, width[, prec[, nfa]]]]) -> lines, width, prec, nfa
Link to this function

drawSegments(self, image, lines)

View Source

Draws the line segments on a given image.

Positional Arguments
  • lines: Evision.Mat.

    A vector of the lines that needed to be drawn.

Return
  • image: Evision.Mat.

    The image, where the lines will be drawn. Should be bigger or equal to the image, where the lines were found.

Python prototype (for reference):

drawSegments(image, lines) -> image

Link to this section Functions

Link to this function

compareSegments!(self, size, lines1, lines2)

View Source

Raising version of compareSegments/4.

Link to this function

compareSegments!(self, size, lines1, lines2, opts)

View Source

Raising version of compareSegments/5.

Raising version of detect/2.

Link to this function

detect!(self, image, opts)

View Source

Raising version of detect/3.

Link to this function

drawSegments!(self, image, lines)

View Source

Raising version of drawSegments/3.