aboutsummaryrefslogtreecommitdiffstats
path: root/meowpp/gra/BundleAdjustment.h
diff options
context:
space:
mode:
Diffstat (limited to 'meowpp/gra/BundleAdjustment.h')
-rw-r--r--meowpp/gra/BundleAdjustment.h105
1 files changed, 0 insertions, 105 deletions
diff --git a/meowpp/gra/BundleAdjustment.h b/meowpp/gra/BundleAdjustment.h
deleted file mode 100644
index 60040da..0000000
--- a/meowpp/gra/BundleAdjustment.h
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef BundleAdjustment_H__
-#define BundleAdjustment_H__
-
-#include "Eye.h"
-
-#include "../oo/ObjBase.h"
-
-namespace meow {
-
-/*!
- * @brief 列舉每個 \c Eye 可以有哪些種類的移動
- */
-enum EyesReferenceInfoFlags {
- CAN_OFFSET = 0x01, //!< 平移
- CAN_ROTATE = 0x02, //!< 旋轉
- CAN_ZOOM = 0x04 //!< 改變焦距
-};
-
-/*!
- * @brief 記住每個 \c Eye 的reference以及Flag
- */
-template<class Pixel>
-struct EyesReferenceInfo {
- unsigned long flag; //!< Flag, 定義如EyesReferenceInfoFlags
- Eye<Pixel> eye; //!< reference
-
- /*!
- * @brief constructor with nothing
- */
- EyesReferenceInfo(): flag(0), eye() {
- }
-
- /*!
- * @brief constructor with flag and an Eye object. Here we will let
- * memember '.eye' reference from the specify paramter \c e
- */
- EyesReferenceInfo(Eye<Pixel>& e, unsigned long f): flag(f), eye() {
- eye.referenceFrom(e);
- }
-
- /*!
- * @brief constructor with another EyesReferenceInfo
- */
- EyesReferenceInfo(EyesReferenceInfo const& si): flag(si.flag), eye() {
- eye.referenceFrom(si.eye);
- }
-
- /*!
- * @brief desructor
- */
- ~EyesReferenceInfo() {
- }
-
- /*!
- * @brief copy operator, still use reference method
- */
- EyesReferenceInfo& operator=(EyesReferenceInfo const& e) {
- flag = e.flag;
- eye.referenceFrom(e.eye);
- return *this;
- }
-};
-
-/*!
- * @brief 這邊定義Bundle-Adjustment就是利用一系列場景來反推算出\b 相機資訊
- * (包含拍攝座標, 角度與焦距) 或是在已知相機資訊的情況下推算出底片中
- * 物體如何移動.
- */
-template<class Pixel>
-class BundleAdjustment: public ObjBase {
-protected:
- BundleAdjustment() {
- }
-public:
- virtual ~BundleAdjustment() {
- }
-
- /*!
- * @brief 推算相機資訊
- *
- * @param [in] seq 給定一系列場景
- * @return 成功與否
- */
- virtual
- bool adjustEyes(std::vector<EyesReferenceInfo<Pixel> > seq) const {
- return false;
- }
-
- /*!
- * @brief 推算場景中的物體資訊
- *
- * 會將fixedPoints2D推算倒fixedPoints3D
- *
- * @param [in] seq 一系列場景(這裡的場景是有時間先後順序的)
- * @brief 成功與否
- */
- virtual
- bool adjustFixedPoints(std::vector<EyesReferenceInfo<Pixel> > seq) const {
- return false;
- }
-};
-
-} // meow
-
-#endif // BundleAdjustment_H__