diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2018-05-14 17:23:20 +0200 | 
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2018-05-14 17:23:20 +0200 | 
| commit | fc2238f7b09ff20c130314acbd93ecfa745faa8e (patch) | |
| tree | dda62959228e91f26ae5f6006a6a5f523f0f0270 | |
| parent | 21c500a72696c7d6aa791d1e488bfcb7de3a4339 (diff) | |
tracker/aruco: remove some obsolete stuff
| -rw-r--r-- | tracker-aruco/aruco-trackercontrols.ui | 115 | ||||
| -rw-r--r-- | tracker-aruco/ftnoir_tracker_aruco.cpp | 34 | ||||
| -rw-r--r-- | tracker-aruco/ftnoir_tracker_aruco.h | 50 | 
3 files changed, 73 insertions, 126 deletions
| diff --git a/tracker-aruco/aruco-trackercontrols.ui b/tracker-aruco/aruco-trackercontrols.ui index 0d70d9ed..a1600a8f 100644 --- a/tracker-aruco/aruco-trackercontrols.ui +++ b/tracker-aruco/aruco-trackercontrols.ui @@ -9,8 +9,8 @@     <rect>      <x>0</x>      <y>0</y> -    <width>453</width> -    <height>246</height> +    <width>462</width> +    <height>221</height>     </rect>    </property>    <property name="windowTitle"> @@ -64,21 +64,33 @@        <item>         <widget class="QFrame" name="frame">          <layout class="QGridLayout" name="gridLayout_4"> -         <item row="0" column="0"> -          <widget class="QLabel" name="label_9"> -           <property name="text"> -            <string>Diagonal FOV</string> +         <item row="2" column="1"> +          <widget class="QComboBox" name="cameraName"> +           <property name="sizePolicy"> +            <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> +             <horstretch>0</horstretch> +             <verstretch>0</verstretch> +            </sizepolicy>             </property>            </widget>           </item> -         <item row="2" column="1"> -          <widget class="QComboBox" name="cameraName"> +         <item row="0" column="1"> +          <widget class="QSpinBox" name="cameraFOV">             <property name="sizePolicy">              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">               <horstretch>0</horstretch>               <verstretch>0</verstretch>              </sizepolicy>             </property> +           <property name="locale"> +            <locale language="English" country="UnitedStates"/> +           </property> +           <property name="minimum"> +            <number>35</number> +           </property> +           <property name="maximum"> +            <number>90</number> +           </property>            </widget>           </item>           <item row="3" column="1"> @@ -106,6 +118,34 @@             </item>            </widget>           </item> +         <item row="1" column="0"> +          <widget class="QLabel" name="label_12"> +           <property name="text"> +            <string>Frames per second</string> +           </property> +          </widget> +         </item> +         <item row="3" column="0"> +          <widget class="QLabel" name="label_11"> +           <property name="text"> +            <string>Resolution</string> +           </property> +          </widget> +         </item> +         <item row="2" column="0"> +          <widget class="QLabel" name="label_10"> +           <property name="text"> +            <string>Camera name</string> +           </property> +          </widget> +         </item> +         <item row="0" column="0"> +          <widget class="QLabel" name="label_9"> +           <property name="text"> +            <string>Diagonal FOV</string> +           </property> +          </widget> +         </item>           <item row="1" column="1">            <widget class="QComboBox" name="cameraFPS">             <property name="sizePolicy"> @@ -146,47 +186,7 @@             </item>            </widget>           </item> -         <item row="0" column="1"> -          <widget class="QSpinBox" name="cameraFOV"> -           <property name="sizePolicy"> -            <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> -             <horstretch>0</horstretch> -             <verstretch>0</verstretch> -            </sizepolicy> -           </property> -           <property name="locale"> -            <locale language="English" country="UnitedStates"/> -           </property> -           <property name="minimum"> -            <number>35</number> -           </property> -           <property name="maximum"> -            <number>90</number> -           </property> -          </widget> -         </item> -         <item row="2" column="0"> -          <widget class="QLabel" name="label_10"> -           <property name="text"> -            <string>Camera name</string> -           </property> -          </widget> -         </item> -         <item row="1" column="0"> -          <widget class="QLabel" name="label_12"> -           <property name="text"> -            <string>Frames per second</string> -           </property> -          </widget> -         </item> -         <item row="3" column="0"> -          <widget class="QLabel" name="label_11"> -           <property name="text"> -            <string>Resolution</string> -           </property> -          </widget> -         </item> -         <item row="5" column="1"> +         <item row="4" column="1">            <widget class="QPushButton" name="camera_settings">             <property name="sizePolicy">              <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> @@ -199,23 +199,6 @@             </property>            </widget>           </item> -         <item row="4" column="0"> -          <widget class="QLabel" name="label"> -           <property name="text"> -            <string>Model rotation</string> -           </property> -          </widget> -         </item> -         <item row="4" column="1"> -          <widget class="QComboBox" name="model_rotation"> -           <property name="sizePolicy"> -            <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> -             <horstretch>0</horstretch> -             <verstretch>0</verstretch> -            </sizepolicy> -           </property> -          </widget> -         </item>          </layout>         </widget>        </item> diff --git a/tracker-aruco/ftnoir_tracker_aruco.cpp b/tracker-aruco/ftnoir_tracker_aruco.cpp index faa8bb44..5ce52565 100644 --- a/tracker-aruco/ftnoir_tracker_aruco.cpp +++ b/tracker-aruco/ftnoir_tracker_aruco.cpp @@ -227,19 +227,6 @@ void aruco_tracker::clamp_last_roi()      last_roi &= cv::Rect(0, 0, color.cols, color.rows);  } -cv::Point3f aruco_tracker::rotate_model(float x, float y, settings::rot mode) -{ -    cv::Point3f pt(x, y, 0); - -    if (mode) -    { -        const double theta = int(mode) * 90/4. * M_PI/180; -        pt.x = x * cos(theta) - y * sin(theta); -        pt.y = y * cos(theta) + x * sin(theta); -    } -    return pt; -} -  void aruco_tracker::set_points()  {      using f = float; @@ -249,12 +236,10 @@ void aruco_tracker::set_points()      const int x1=1, x2=2, x3=3, x4=0; -    settings::rot mode = s.model_rotation; - -    obj_points[x1] = rotate_model(-size, -size, mode); -    obj_points[x2] = rotate_model(size, -size, mode); -    obj_points[x3] = rotate_model(size, size, mode); -    obj_points[x4] = rotate_model(-size, size, mode); +    obj_points[x1] = { -size, -size, 0 }; +    obj_points[x2] = { size, -size, 0 }; +    obj_points[x3] = { size, size, 0 }; +    obj_points[x4] = { -size, size, 0 };      for (unsigned i = 0; i < 4; i++)          obj_points[i] += cv::Point3f(hx, hy, hz); @@ -341,9 +326,9 @@ void aruco_tracker::set_detector_params()      detector.setThresholdParams(adaptive_sizes[adaptive_size_pos], adaptive_thres);  #else -        detector._thresMethod = aruco::MarkerDetector::CANNY; -        int value = adaptive_sizes[adaptive_size_pos]; -        detector.setThresholdParams(value, value * 3); +    detector._thresMethod = aruco::MarkerDetector::CANNY; +    int value = adaptive_sizes[adaptive_size_pos]; +    detector.setThresholdParams(value, value * 3);  #endif  } @@ -480,11 +465,6 @@ aruco_dialog::aruco_dialog() :      tie_setting(s.headpos_y, ui.cy);      tie_setting(s.headpos_z, ui.cz); -    ui.model_rotation->addItem("0", int(settings::rot_zero)); -    ui.model_rotation->addItem("+22.5", int(settings::rot_plus)); -    ui.model_rotation->addItem("-22.5", int(settings::rot_neg)); -    tie_setting(s.model_rotation, ui.model_rotation); -      connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(doOK()));      connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(doCancel()));      connect(ui.btn_calibrate, SIGNAL(clicked()), this, SLOT(toggleCalibrate())); diff --git a/tracker-aruco/ftnoir_tracker_aruco.h b/tracker-aruco/ftnoir_tracker_aruco.h index 293991eb..b634576a 100644 --- a/tracker-aruco/ftnoir_tracker_aruco.h +++ b/tracker-aruco/ftnoir_tracker_aruco.h @@ -38,29 +38,17 @@  using namespace options;  struct settings : opts { -    enum rot -    { -        rot_zero = 0, -        rot_neg = -1, -        rot_plus = +1, -    }; - -    value<int> fov; -    value<double> headpos_x, headpos_y, headpos_z; -    value<QString> camera_name; -    value<int> force_fps, resolution; -    value<rot> model_rotation; -    settings() : -        opts("aruco-tracker"), -        fov(b, "field-of-view", 56), -        headpos_x(b, "headpos-x", 0), -        headpos_y(b, "headpos-y", 0), -        headpos_z(b, "headpos-z", 0), -        camera_name(b, "camera-name", ""), -        force_fps(b, "force-fps", 0), -        resolution(b, "force-resolution", 0), -        model_rotation(b, "model-rotation", rot_zero) -    {} +    value<QString> camera_name { b, "camera-name", ""}; +    value<int> fov { b, "field-of-view", 56 }; + +    value<double> headpos_x { b, "headpos-x", 0 }, +                  headpos_y { b, "headpos-y", 0 }, +                  headpos_z { b, "headpos-z", 0 }; + +    value<int> force_fps { b, "force-fps", 0 }, +               resolution { b, "force-resolution", 0 }; + +    settings() = default;  };  class aruco_dialog; @@ -93,8 +81,6 @@ private:      void set_detector_params();      void cycle_detection_params(); -    cv::Point3f rotate_model(float x, float y, settings::rot mode); -      cv::VideoCapture camera;      QMutex camera_mtx;      QMutex mtx; @@ -105,9 +91,6 @@ private:      double no_detection_timeout = 0;      cv::Mat frame, grayscale, color;      cv::Matx33d r; -#ifdef DEBUG_UNSHARP_MASKING -    cv::Mat blurred; -#endif      std::vector<cv::Point3f> obj_points {4};      cv::Matx33d intrinsics = cv::Matx33d::eye();      aruco::MarkerDetector detector; @@ -121,7 +104,7 @@ private:      std::vector<cv::Point3f> roi_points {4};      cv::Rect last_roi { 65535, 65535, 0, 0 };      Timer fps_timer, last_detection_timer; -    unsigned adaptive_size_pos = 0; +    unsigned adaptive_size_pos { 0 };      bool use_otsu = false;  #if !defined USE_EXPERIMENTAL_CANNY @@ -130,10 +113,6 @@ private:      static constexpr inline int adaptive_thres = 3;  #endif -#ifdef DEBUG_UNSHARP_MASKING -    static constexpr inline double gauss_kernel_size = 3; -#endif -      static constexpr inline double timeout = 1;      static constexpr inline double timeout_backoff_c = 4./11; @@ -141,6 +120,11 @@ private:      static constexpr inline float size_max = 0.5;      static constexpr inline double RC = .25; + +#ifdef DEBUG_UNSHARP_MASKING +    static constexpr inline double gauss_kernel_size = 3; +    cv::Mat blurred; +#endif  };  class aruco_dialog : public ITrackerDialog | 
