123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- #ifndef OPENCV_SHAPE_SHAPE_TRANSFORM_HPP
- #define OPENCV_SHAPE_SHAPE_TRANSFORM_HPP
- #include <vector>
- #include "opencv2/core.hpp"
- #include "opencv2/imgproc.hpp"
- namespace cv
- {
- class CV_EXPORTS_W ShapeTransformer : public Algorithm
- {
- public:
-
- CV_WRAP virtual void estimateTransformation(InputArray transformingShape, InputArray targetShape,
- std::vector<DMatch>& matches) = 0;
-
- CV_WRAP virtual float applyTransformation(InputArray input, OutputArray output=noArray()) = 0;
-
- CV_WRAP virtual void warpImage(InputArray transformingImage, OutputArray output,
- int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT,
- const Scalar& borderValue=Scalar()) const = 0;
- };
- class CV_EXPORTS_W ThinPlateSplineShapeTransformer : public ShapeTransformer
- {
- public:
-
- CV_WRAP virtual void setRegularizationParameter(double beta) = 0;
- CV_WRAP virtual double getRegularizationParameter() const = 0;
- };
- CV_EXPORTS_W Ptr<ThinPlateSplineShapeTransformer>
- createThinPlateSplineShapeTransformer(double regularizationParameter=0);
- class CV_EXPORTS_W AffineTransformer : public ShapeTransformer
- {
- public:
- CV_WRAP virtual void setFullAffine(bool fullAffine) = 0;
- CV_WRAP virtual bool getFullAffine() const = 0;
- };
- CV_EXPORTS_W Ptr<AffineTransformer> createAffineTransformer(bool fullAffine);
- }
- #endif
|