ContourDetector< A > Struct Template Reference
ContourDetector structure provides detection of contours at the image. More...
Public Types | |
typedef A< uint8_t > | Allocator |
typedef Simd::View< A > | View |
typedef Simd::Point< ptrdiff_t > | Size |
typedef Simd::Point< ptrdiff_t > | Point |
typedef Rectangle< ptrdiff_t > | Rect |
typedef std::vector< Point > | Contour |
typedef std::vector< Contour > | Contours |
Public Member Functions | |
void | Init (Size size) |
bool | Detect (const View &src, Contours &contours, const View &mask=View(), uint8_t indexMin=3, const Rect &roi=Rect(), int gradientThreshold=40, int anchorThreshold=0, int anchorScanInterval=2, int minSegmentLength=2) |
Detailed Description
template<template< class > class A>
struct Simd::ContourDetector< A >
ContourDetector structure provides detection of contours at the image.
Using example:
#include "Simd/SimdContour.hpp" #include "Simd/SimdDrawing.hpp" int main() { typedef Simd::ContourDetector<Simd::Allocator> ContourDetector; ContourDetector::View image; image.Load("../../data/image/face/lena.pgm"); ContourDetector contourDetector; contourDetector.Init(image.Size()); ContourDetector::Contours contours; contourDetector.Detect(image, contours); for (size_t i = 0; i < contours.size(); ++i) { for (size_t j = 1; j < contours[i].size(); ++j) Simd::DrawLine(image, contours[i][j - 1], contours[i][j], uint8_t(255)); } image.Save("result.pgm"); return 0; }
Member Typedef Documentation
◆ Allocator
◆ View
typedef Simd::View<A> View |
An image type definition.
◆ Size
typedef Simd::Point<ptrdiff_t> Size |
An image size type definition.
◆ Point
typedef Simd::Point<ptrdiff_t> Point |
A point type definition.
◆ Rect
◆ Contour
◆ Contours
Member Function Documentation
◆ Init()
void Init | ( | Size | size | ) |
Prepares ContourDetector structure to work with image of given size.
- Parameters
-
[in] size - a size of input image.
◆ Detect()
bool Detect | ( | const View & | src, |
Contours & | contours, | ||
const View & | mask = View() , |
||
uint8_t | indexMin = 3 , |
||
const Rect & | roi = Rect() , |
||
int | gradientThreshold = 40 , |
||
int | anchorThreshold = 0 , |
||
int | anchorScanInterval = 2 , |
||
int | minSegmentLength = 2 |
||
) |
Detects contours at given image.
- Parameters
-
[in] src - a input image. [out] contours - detected contours. [in] mask - an image with the mask. It is used to restrict region of contours detection. By default it is not used. [in] indexMin - a minimal index in the mask. By default is equal 3. [in] roi - Region Of Interest. This is Another way to restrict region of contours detection. By default it is not used. [in] gradientThreshold - a gradient threshold for contour detection. If this parameter is negative it will be estimated automatically. By default is equal to 40. [in] anchorThreshold - a anchor threshold for contour detection. By default is equal to 0. [in] anchorScanInterval - the anchor scan interval. This parameter affects to performance. By default is equal to 2. [in] minSegmentLength - the minimal length of detected contour. By default is equal to 2.
- Returns
- a result of this operation.