-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathBioTrackerTrackingAlgorithm.h
More file actions
74 lines (55 loc) · 2.14 KB
/
BioTrackerTrackingAlgorithm.h
File metadata and controls
74 lines (55 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#ifndef BIOTRACKERTRACKINGALGORITHM_H
#define BIOTRACKERTRACKINGALGORITHM_H
#include "Interfaces/IModel/IModel.h"
#include "TrackerParameter.h"
#include <opencv2/opencv.hpp>
#include "Interfaces/IModel/IModelTrackingAlgorithm.h"
#include "Interfaces/IModel/IModelDataExporter.h"
#include "TrackedComponents/TrackedElement.h"
#include "TrackedComponents/TrackedTrajectory.h"
#include "TrackingAlgorithm/imageProcessor/detector/blob/cvBlob/BlobsDetector.h"
#include "TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.h"
#include "../Controller/ControllerTrackingAlgorithm.h"
#include "TrackingAlgorithm/NN2dMapper.h"
#include "Interfaces/IModel/IModelAreaDescriptor.h"
#include <iostream>
#include "Network/TcpListener.h"
#include "../Config.h"
class BioTrackerTrackingAlgorithm : public IModelTrackingAlgorithm
{
Q_OBJECT
public:
BioTrackerTrackingAlgorithm(IController *parent, IModel* parameter, IModel* trajectory);
~BioTrackerTrackingAlgorithm();
Q_SIGNALS:
void emitCvMatA(std::shared_ptr<cv::Mat> image, QString name);
void emitDimensionUpdate(int x, int y);
void emitTrackingDone(uint framenumber);
// ITrackingAlgorithm interface
public Q_SLOTS:
void doTracking(std::shared_ptr<cv::Mat> image, uint framenumber) override;
void receiveAreaDescriptorUpdate(IModelAreaDescriptor *areaDescr);
void receiveParametersChanged();
private:
std::vector<BlobPose> getContourCentroids(cv::Mat& image, int minSize);
void refreshPolygon();
void sendSelectedImage(std::map<std::string, std::shared_ptr<cv::Mat>>* images);
std::vector<FishPose> getLastPositionsAsPose();
BST::TrackedTrajectory* _TrackedTrajectoryMajor;
TrackerParameter* _TrackingParameter;
IModelAreaDescriptor* _AreaInfo;
TcpListener* _listener;
ImagePreProcessor _ipp;
BlobsDetector _bd;
std::shared_ptr<NN2dMapper> _nn2d;
// background subtraction
cv::Ptr<cv::BackgroundSubtractorMOG2> _pMOG;
int _noFish;
//std::ofstream _ofs;
int _imageX;
int _imageY;
std::shared_ptr<cv::Mat> _lastImage;
uint _lastFramenumber;
Config *_cfg;
};
#endif // BIOTRACKERTRACKINGALGORITHM_H