OpenCV 5.0.0-pre
Open Source Computer Vision
Loading...
Searching...
No Matches

Detailed Description

Edge Drawing (ED) algorithm for geometric feature extraction and validation.

The Edge Drawing (ED) algorithm is a proactive approach to the edge detection problem. In contrast to many existing edge detection algorithms, which follow a subtractive approach (i.e., applying gradient filters and eliminating pixels based on several rules, such as non-maximal suppression and hysteresis in the Canny Edge Detector), the ED algorithm operates via an additive strategy. It selects edge pixels one by one and connects them, hence the name Edge Drawing.

ED offers several key advantages:

  1. Additive Strategy: Instead of eliminating non-edge pixels after gradient filtering, ED incrementally builds up edge segments by selecting and connecting pixels based on their gradient response. This differs from traditional methods, which rely on non-maximal suppression and hysteresis to filter out non-edge pixels.
  2. Edge Pixel Selection: ED selects edge pixels by analyzing their local gradient response, while also considering neighboring pixels. This results in smoother and more continuous edge segments, as ED aims to maximize the overall gradient strength along the edge segment.
  3. Edge Segment Formation: Traditional methods, such as non-maximal suppression, check whether a pixel has the maximum gradient response along its gradient direction, eliminating it otherwise. However, this approach doesn't consider neighboring pixels, often resulting in lower-quality edge segments. ED, on the other hand, joins a set of edge pixels together by maximizing the total gradient response of the segment, leading to high-quality, well-localized edges.
  4. Higher-Level Feature Extraction: After forming edge segments, ED enables the extraction of higher-level geometric features such as lines, circles, ellipses, and other shapes, making it useful for tasks involving geometric feature extraction and validation.

The ED algorithm produces continuous, smooth, and localized edge segments, making it ideal for applications requiring precise edge detection and geometric shape analysis.

Classes

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

Functions

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

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.