forked from npinto/fddb-evaluation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RegionsSingleImage.hpp
59 lines (50 loc) · 1.5 KB
/
RegionsSingleImage.hpp
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
#ifndef __REGIONSSINGLEIMAGE_HPP__
#define __REGIONSSINGLEIMAGE_HPP__
#include <string>
#include <vector>
#include "common.hpp"
#ifndef __XCODE__
#include <highgui.h>
#endif
#include <iostream>
#include <fstream>
#include "Region.hpp"
#include "OpenCVUtils.hpp"
using std::cout;
using std::cerr;
using std::endl;
using std::vector;
/**
* Abstract class that specifies a set of regions for an image
* */
class RegionsSingleImage{
protected:
/// Image associated with this set of regions
IplImage *im;
/// Vector to hold the list of regions
std::vector<Region *> *list;
public:
/// Constructor: read an image from a file
RegionsSingleImage(std::string fName);
/// Constructor: intialize the image for this set of ellipses as I
RegionsSingleImage(IplImage *I);
/// Destructor
~RegionsSingleImage();
/// Read the annotaion from the file fName -- Pure virtual
virtual void read(std::string)=0;
/// Read N annotaion from the file stream fs -- Pure virtual
virtual void read(std::ifstream &, int)=0;
/// Display all ellipses -- Pure virtual
virtual void show() =0;
/// Returns the number of regions
unsigned int length();
/// Returns the pointer to the i-th region
Region *get(int i);
/// Adds the region r at the i-th position in the list
void set(int i, Region *r);
/// Returns a const pointer to the image associated with this set of regions
const IplImage *getImage();
/// Returns the set of unique detection scores for the regions in this set
std::vector<double> *getUniqueScores();
};
#endif