123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- #ifndef GRAPHINCLUDE
- #define GRAPHINCLUDE
- #include "vislearning/cbaselib/Example.h"
- #include <set>
- namespace OBJREC {
- class Node
- {
- protected:
-
- std::vector<Node*> neighbors;
-
- bool atborder;
-
- int number;
-
- int label;
-
- int size;
-
- int amountx, amounty;
-
- int minx, miny, maxx, maxy;
-
- std::vector<double> probs;
- public:
-
- Node(int n);
-
- void addNeighbor(Node *nb);
-
- void change(int nblabel);
-
- int getLabel() const;
-
- int getSize() const;
-
- void setLabel(int l);
-
- bool isAtBorder();
-
- void getNeighbors(std::vector<Node*> &nb) const;
-
- int getRegion() const;
-
- int getNumber() const {
- return number;
- };
-
- void incSize(int s = 1);
-
- void addPos(int x, int y);
-
- void getCentroid(int &x, int &y) const;
-
- void setProbs(std::vector<double> _probs);
-
- int getSpan() const;
-
- void getRect(int &x0, int &y0, int &x1, int &y1);
-
- int store(std::ofstream & fout);
- };
- class RegionGraph
- {
- protected:
-
- std::vector<Node*> nodes;
- public:
-
- RegionGraph() {};
- ~RegionGraph();
- void get(std::vector<Node*> &n) const;
-
- void computeGraph(const NICE::Matrix &mask, const int &rgcount);
-
- void computeGraph(const Examples ®ions, const NICE::Matrix &mask);
-
- int size() const;
-
- Node* operator[](int i) const;
- void write(std::string file);
- };
- }
- #endif
|