46 lines
1.0 KiB
C
46 lines
1.0 KiB
C
|
#ifndef BLOBDETECTOR_H
|
||
|
#define BLOBDETECTOR_H
|
||
|
|
||
|
#include <vector>
|
||
|
#include <functional>
|
||
|
#include "opencv2/core/core_c.h"
|
||
|
#include <opencv2/opencv.hpp>
|
||
|
#include "blob.h"
|
||
|
#include "BlobOperators.h"
|
||
|
#include "ComponentLabeling.h"
|
||
|
#include "BlobGroup.h"
|
||
|
|
||
|
class BlobDetector
|
||
|
{
|
||
|
public:
|
||
|
BlobDetector();
|
||
|
|
||
|
BlobDetector(IplImage* source, IplImage* mask = NULL, int numThreads = 1);
|
||
|
|
||
|
BlobDetector(cv::Mat& source, const cv::Mat& mask = cv::Mat(), int numThreads = 1);
|
||
|
|
||
|
BlobDetector(const BlobDetector& source);
|
||
|
|
||
|
BlobDetector& operator=(const BlobDetector& source);
|
||
|
|
||
|
BlobDetector(BlobDetector&& source) noexcept;
|
||
|
|
||
|
BlobDetector& operator=(BlobDetector&& source) noexcept;
|
||
|
|
||
|
//! Destructor
|
||
|
virtual ~BlobDetector();
|
||
|
|
||
|
//! Function to detect blobs in a new image
|
||
|
const BlobGroup& detect(cv::Mat& source, const cv::Mat& mask = cv::Mat(), int numThreads = 1);
|
||
|
|
||
|
const BlobGroup& getBlobGroup();
|
||
|
|
||
|
private:
|
||
|
CompLabelerGroup m_compLabeler;
|
||
|
|
||
|
BlobGroup m_blobGroup;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // BLOBDETECTOR_H
|