1 #ifndef __BLOBDETECTOR_BFS_hh__
2 #define __BLOBDETECTOR_BFS_hh__
5 #include <bias_config.h>
6 #include <Base/Math/Vector2.hh>
7 #include <Base/Image/Image.hh>
8 #include <Filter/Gauss.hh>
9 #include "BlobDetectorBase.hh"
13 typedef std::vector<BIAS::Vector2<unsigned int> >
PointQueue;
22 template <
class StorageType>
44 std::vector<BIAS::BIASBlob> &blobs);
63 if (maxCorners_.weight == 0)
65 corners = maxCorners_;
102 maxWeight_ = maxSize;
109 eraseBelowMinWeight_ = erase;
124 int ClusterDescent_(
const unsigned int x,
const unsigned int y,
125 const unsigned int w,
const unsigned int h,
126 StorageType **idaIn,
unsigned char **idaMark,
150 #endif // __BLOBDETECTOR_BFS_hh__
std::vector< BIAS::Vector2< unsigned int > > PointQueue
void SetThreshold(StorageType threshold)
set threshold for blobdetection
BIAS::Vector2< unsigned > UL_
void SetEraseBelowMinSize(bool erase)
setting this true will clear pixels (0) in clusters of weight < minWeight
BIAS::Image< StorageType > imageSmooth_
bool eraseBelowMinWeight_
void SetMinSize(unsigned minSize)
set minimum size of blobs
void SetMaxSize(unsigned maxSize)
int GetLargestBoundingBox(BIAS::BIASBlob &corners)
return largest blob (bounding box)
BIAS::Image< unsigned char > markerBackup_
std::vector< BIAS::BIASBlob > corners_
Helper class to store blob corners.
purly virtual interface defining class for blob detectors
BIAS::BIASBlob maxCorners_
The image template class for specific storage types.
BIAS::Gauss< StorageType, StorageType > smoothFilter_
Detects multiple blobs in an image, image has to be black except blocks to detect.
void SetROI(const BIAS::Vector2< unsigned > &UL, const BIAS::Vector2< unsigned > &LR)
set a ROI (region of interest) in the image to detect
void SetGaussSigma(double sigma)
set sigma for gaussian blurr before blobdetection