123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- #ifndef MAPPROJEC_H_
- #define MAPPROJEC_H_
- #include "map.hpp"
- namespace cv {
- namespace reg {
- class CV_EXPORTS_W MapProjec : public Map
- {
- public:
-
- CV_WRAP MapProjec();
-
- CV_WRAP MapProjec(InputArray projTr);
-
- ~MapProjec();
- CV_WRAP void inverseWarp(InputArray img1, OutputArray img2) const;
- CV_WRAP cv::Ptr<Map> inverseMap() const;
- CV_WRAP void compose(cv::Ptr<Map> map);
- CV_WRAP void scale(double factor);
-
- const cv::Matx<double, 3, 3>& getProjTr() const {
- return projTr_;
- }
- CV_WRAP void getProjTr(OutputArray projTr) const {
- Mat(projTr_).copyTo(projTr);
- }
-
- CV_WRAP void normalize() {
- double z = 1./projTr_(2, 2);
- for(size_t v_i = 0; v_i < sizeof(projTr_.val)/sizeof(projTr_.val[0]); ++v_i)
- projTr_.val[v_i] *= z;
- }
- private:
- cv::Matx<double, 3, 3> projTr_;
- };
- }}
- #endif
|