SaDVIO
Public Member Functions | Static Public Member Functions | List of all members
upm::ELSED Class Reference

#include <ELSED.h>

Public Member Functions

 ELSED (const ELSEDParams &params=ELSEDParams())
 
Segments detect (const cv::Mat &image)
 Detects segments in the input image. More...
 
SalientSegments detectSalient (const cv::Mat &image)
 
ImageEdges detectEdges (const cv::Mat &image)
 
const LineDetectionExtraInfogetImgInfo () const
 
const LineDetectionExtraInfoPtrgetImgInfoPtr () const
 
void processImage (const cv::Mat &image)
 
void clear ()
 
ImageEdges getAllEdges () const
 
ImageEdges getSegmentEdges () const
 
const EdgeDrawerPtrgetDrawer () const
 

Static Public Member Functions

static void computeAnchorPoints (const cv::Mat &dirImage, const cv::Mat &gradImageWO, const cv::Mat &gradImage, int scanInterval, int anchorThresh, std::vector< Pixel > &anchorPoints)
 
static LineDetectionExtraInfoPtr computeGradients (const cv::Mat &srcImg, short gradientTh)
 

Detailed Description

This class implements the method: [Suárez], I., Buenaposada, J. M., & Baumela, L. (2021). ELSED: Enhanced Line SEgment Drawing. arXiv preprint arXiv:2108.03144.

It is an efficient line segment detector amenable to use in low power devices such as drones or smartphones. The method takes an image as input and outputs a list of detected segments.

Constructor & Destructor Documentation

◆ ELSED()

upm::ELSED::ELSED ( const ELSEDParams params = ELSEDParams())
explicit

Member Function Documentation

◆ clear()

void upm::ELSED::clear ( )

◆ computeAnchorPoints()

void upm::ELSED::computeAnchorPoints ( const cv::Mat &  dirImage,
const cv::Mat &  gradImageWO,
const cv::Mat &  gradImage,
int  scanInterval,
int  anchorThresh,
std::vector< Pixel > &  anchorPoints 
)
inlinestatic

◆ computeGradients()

LineDetectionExtraInfoPtr upm::ELSED::computeGradients ( const cv::Mat &  srcImg,
short  gradientTh 
)
static

◆ detect()

Segments upm::ELSED::detect ( const cv::Mat &  image)

Detects segments in the input image.

Parameters
imageAn input image. The parameters are adapted to images of size 640x480. Bigger images will generate more segments.
Returns
The list of detected segments

◆ detectEdges()

ImageEdges upm::ELSED::detectEdges ( const cv::Mat &  image)

◆ detectSalient()

SalientSegments upm::ELSED::detectSalient ( const cv::Mat &  image)

◆ getAllEdges()

ImageEdges upm::ELSED::getAllEdges ( ) const

◆ getDrawer()

const EdgeDrawerPtr& upm::ELSED::getDrawer ( ) const
inline

◆ getImgInfo()

const LineDetectionExtraInfo & upm::ELSED::getImgInfo ( ) const

◆ getImgInfoPtr()

const LineDetectionExtraInfoPtr & upm::ELSED::getImgInfoPtr ( ) const

◆ getSegmentEdges()

ImageEdges upm::ELSED::getSegmentEdges ( ) const

◆ processImage()

void upm::ELSED::processImage ( const cv::Mat &  image)

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