OpenCV  3.4.20-dev
Open Source Computer Vision
Classes | Functions

Classes

class  cv::ximgproc::EdgeDrawing
 Class implementing the ED (EdgeDrawing) [214], EDLines [4], EDPF [5] and EDCircles [6] algorithms. More...
 

Functions

Ptr< EdgeDrawingcv::ximgproc::createEdgeDrawing ()
 Creates a smart pointer to a EdgeDrawing object and initializes it. More...
 

Detailed Description

EDGE DRAWING LIBRARY FOR GEOMETRIC FEATURE EXTRACTION AND VALIDATION

Edge Drawing (ED) algorithm is an proactive approach on edge detection problem. In contrast to many other existing edge detection algorithms which follow a subtractive approach (i.e. after applying gradient filters onto an image eliminating pixels w.r.t. several rules, e.g. non-maximal suppression and hysteresis in Canny), ED algorithm works via an additive strategy, i.e. it picks edge pixels one by one, hence the name Edge Drawing. Then we process those random shaped edge segments to extract higher level edge features, i.e. lines, circles, ellipses, etc. The popular method of extraction edge pixels from the thresholded gradient magnitudes is non-maximal supression that tests every pixel whether it has the maximum gradient response along its gradient direction and eliminates if it does not. However, this method does not check status of the neighboring pixels, and therefore might result low quality (in terms of edge continuity, smoothness, thinness, localization) edge segments. Instead of non-maximal supression, ED points a set of edge pixels and join them by maximizing the total gradient response of edge segments. Therefore it can extract high quality edge segments without need for an additional hysteresis step.

Function Documentation

◆ createEdgeDrawing()

Ptr<EdgeDrawing> cv::ximgproc::createEdgeDrawing ( )
Python:
cv.ximgproc.createEdgeDrawing() -> retval

#include <opencv2/ximgproc/edge_drawing.hpp>

Creates a smart pointer to a EdgeDrawing object and initializes it.

Examples:
fld_lines.cpp.