123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- #ifndef __OPENCV_XIMGPROC_SEGMENTATION_HPP__
- #define __OPENCV_XIMGPROC_SEGMENTATION_HPP__
- #include <opencv2/core.hpp>
- namespace cv {
- namespace ximgproc {
- namespace segmentation {
-
-
-
- class CV_EXPORTS_W GraphSegmentation : public Algorithm {
- public:
-
- CV_WRAP virtual void processImage(InputArray src, OutputArray dst) = 0;
- CV_WRAP virtual void setSigma(double sigma) = 0;
- CV_WRAP virtual double getSigma() = 0;
- CV_WRAP virtual void setK(float k) = 0;
- CV_WRAP virtual float getK() = 0;
- CV_WRAP virtual void setMinSize(int min_size) = 0;
- CV_WRAP virtual int getMinSize() = 0;
- };
-
- CV_EXPORTS_W Ptr<GraphSegmentation> createGraphSegmentation(double sigma=0.5, float k=300, int min_size=100);
-
- class CV_EXPORTS_W SelectiveSearchSegmentationStrategy : public Algorithm {
- public:
-
- CV_WRAP virtual void setImage(InputArray img, InputArray regions, InputArray sizes, int image_id = -1) = 0;
-
- CV_WRAP virtual float get(int r1, int r2) = 0;
-
- CV_WRAP virtual void merge(int r1, int r2) = 0;
- };
-
- class CV_EXPORTS_W SelectiveSearchSegmentationStrategyColor : public SelectiveSearchSegmentationStrategy {
- };
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyColor> createSelectiveSearchSegmentationStrategyColor();
-
- class CV_EXPORTS_W SelectiveSearchSegmentationStrategySize : public SelectiveSearchSegmentationStrategy {
- };
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategySize> createSelectiveSearchSegmentationStrategySize();
-
- class CV_EXPORTS_W SelectiveSearchSegmentationStrategyTexture : public SelectiveSearchSegmentationStrategy {
- };
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyTexture> createSelectiveSearchSegmentationStrategyTexture();
-
- class CV_EXPORTS_W SelectiveSearchSegmentationStrategyFill : public SelectiveSearchSegmentationStrategy {
- };
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyFill> createSelectiveSearchSegmentationStrategyFill();
-
- class CV_EXPORTS_W SelectiveSearchSegmentationStrategyMultiple : public SelectiveSearchSegmentationStrategy {
- public:
-
- CV_WRAP virtual void addStrategy(Ptr<SelectiveSearchSegmentationStrategy> g, float weight) = 0;
-
- CV_WRAP virtual void clearStrategies() = 0;
- };
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyMultiple> createSelectiveSearchSegmentationStrategyMultiple();
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyMultiple> createSelectiveSearchSegmentationStrategyMultiple(Ptr<SelectiveSearchSegmentationStrategy> s1);
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyMultiple> createSelectiveSearchSegmentationStrategyMultiple(Ptr<SelectiveSearchSegmentationStrategy> s1, Ptr<SelectiveSearchSegmentationStrategy> s2);
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyMultiple> createSelectiveSearchSegmentationStrategyMultiple(Ptr<SelectiveSearchSegmentationStrategy> s1, Ptr<SelectiveSearchSegmentationStrategy> s2, Ptr<SelectiveSearchSegmentationStrategy> s3);
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentationStrategyMultiple> createSelectiveSearchSegmentationStrategyMultiple(Ptr<SelectiveSearchSegmentationStrategy> s1, Ptr<SelectiveSearchSegmentationStrategy> s2, Ptr<SelectiveSearchSegmentationStrategy> s3, Ptr<SelectiveSearchSegmentationStrategy> s4);
-
- class CV_EXPORTS_W SelectiveSearchSegmentation : public Algorithm {
- public:
-
- CV_WRAP virtual void setBaseImage(InputArray img) = 0;
-
- CV_WRAP virtual void switchToSingleStrategy(int k = 200, float sigma = 0.8f) = 0;
-
- CV_WRAP virtual void switchToSelectiveSearchFast(int base_k = 150, int inc_k = 150, float sigma = 0.8f) = 0;
-
- CV_WRAP virtual void switchToSelectiveSearchQuality(int base_k = 150, int inc_k = 150, float sigma = 0.8f) = 0;
-
- CV_WRAP virtual void addImage(InputArray img) = 0;
-
- CV_WRAP virtual void clearImages() = 0;
-
- CV_WRAP virtual void addGraphSegmentation(Ptr<GraphSegmentation> g) = 0;
-
- CV_WRAP virtual void clearGraphSegmentations() = 0;
-
- CV_WRAP virtual void addStrategy(Ptr<SelectiveSearchSegmentationStrategy> s) = 0;
-
- CV_WRAP virtual void clearStrategies() = 0;
-
- CV_WRAP virtual void process(CV_OUT std::vector<Rect>& rects) = 0;
- };
-
- CV_EXPORTS_W Ptr<SelectiveSearchSegmentation> createSelectiveSearchSegmentation();
-
- }
- }
- }
- #endif
|