Package org.opencv.ximgproc

## Class EdgeDrawing

- java.lang.Object
- - org.opencv.core.Algorithm
  - - org.opencv.ximgproc.EdgeDrawing

-     public class EdgeDrawing
      extends Algorithm

  Class implementing the ED (EdgeDrawing) CITE: topal2012edge, EDLines CITE: akinlar2011edlines, EDPF CITE: akinlar2012edpf and EDCircles CITE: akinlar2013edcircles algorithms

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `LSD` |
    `static int` | `PREWITT` |
    `static int` | `SCHARR` |
    `static int` | `SOBEL` |

    - ### Fields inherited from class org.opencv.core.Algorithm

      `nativeObj`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `EdgeDrawing​(long addr)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static EdgeDrawing` | `__fromPtr__​(long addr)` |
    `void` | `detectEdges​(Mat src)` | Detects edges in a grayscale image and prepares them to detect lines and ellipses.
    `void` | `detectEllipses​(Mat ellipses)` | Detects circles and ellipses.
    `void` | `detectLines​(Mat lines)` | Detects lines.
    `protected void` | `finalize()` |
    `void` | `getEdgeImage​(Mat dst)` | returns Edge Image prepared by detectEdges() function.
    `void` | `getGradientImage​(Mat dst)` | returns Gradient Image prepared by detectEdges() function.
    `MatOfInt` | `getSegmentIndicesOfLines()` | Returns for each line found in detectLines() its edge segment index in getSegments()
    `java.util.List<MatOfPoint>` | `getSegments()` | Returns std::vector<std::vector<Point>> of detected edge segments, see detectEdges()
    `void` | `setParams​(EdgeDrawing_Params parameters)` | sets parameters.

    - ### Methods inherited from class org.opencv.core.Algorithm

      `clear, empty, getDefaultName, getNativeObjAddr, save`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PREWITT

          public static final int PREWITT

      See Also:
        Constant Field Values

    - #### SOBEL

          public static final int SOBEL

      See Also:
        Constant Field Values

    - #### SCHARR

          public static final int SCHARR

      See Also:
        Constant Field Values

    - #### LSD

          public static final int LSD

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EdgeDrawing

          protected EdgeDrawing​(long addr)

  - ### Method Detail

    - #### __fromPtr__

          public static EdgeDrawing __fromPtr__​(long addr)

    - #### detectEdges

          public void detectEdges​(Mat src)

      Detects edges in a grayscale image and prepares them to detect lines and ellipses.
      Parameters:
        `src` - 8-bit, single-channel, grayscale input image.

    - #### getEdgeImage

          public void getEdgeImage​(Mat dst)

      returns Edge Image prepared by detectEdges() function.
      Parameters:
        `dst` - returns 8-bit, single-channel output image.

    - #### getGradientImage

          public void getGradientImage​(Mat dst)

      returns Gradient Image prepared by detectEdges() function.
      Parameters:
        `dst` - returns 16-bit, single-channel output image.

    - #### getSegments

          public java.util.List<MatOfPoint> getSegments()

      Returns std::vector<std::vector<Point>> of detected edge segments, see detectEdges()
      Returns:
        automatically generated

    - #### getSegmentIndicesOfLines

          public MatOfInt getSegmentIndicesOfLines()

      Returns for each line found in detectLines() its edge segment index in getSegments()
      Returns:
        automatically generated

    - #### detectLines

          public void detectLines​(Mat lines)

      Detects lines.
      Parameters:
        `lines` - output Vec<4f> contains the start point and the end point of detected lines. Note: you should call detectEdges() before calling this function.

    - #### detectEllipses

          public void detectEllipses​(Mat ellipses)

      Detects circles and ellipses.
      Parameters:
        `ellipses` - output Vec<6d> contains center point and perimeter for circles, center point, axes and angle for ellipses. Note: you should call detectEdges() before calling this function.

    - #### setParams

          public void setParams​(EdgeDrawing_Params parameters)

      sets parameters. this function is meant to be used for parameter setting in other languages than c++ like python.
      Parameters:
        `parameters` - Parameters of the algorithm

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      Overrides:
        `finalize` in class `Algorithm`
      Throws:
        `java.lang.Throwable`