diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2016-09-05 20:31:01 +0200 | 
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-09-05 20:31:01 +0200 | 
| commit | dec625e51878c9167100837086f82fb0f78b0189 (patch) | |
| tree | 43f0e083d0630952ae666f588e2b43c8f358ac4f | |
| parent | 420748abc9b5cd13b4f0d98068619e90d503450d (diff) | |
tracker/{aruco,pt}: remove camera settings button
It's broken and users complain on the issue tracker.
Also fix tab stops.
| -rw-r--r-- | cv/camera-dialog.cpp | 71 | ||||
| -rw-r--r-- | cv/camera-dialog.hpp | 37 | ||||
| -rw-r--r-- | tracker-aruco/aruco-trackercontrols.ui | 81 | ||||
| -rw-r--r-- | tracker-aruco/ftnoir_tracker_aruco.cpp | 6 | ||||
| -rw-r--r-- | tracker-aruco/ftnoir_tracker_aruco.h | 7 | ||||
| -rw-r--r-- | tracker-pt/FTNoIR_PT_Controls.ui | 110 | ||||
| -rw-r--r-- | tracker-pt/ftnoir_tracker_pt.h | 1 | ||||
| -rw-r--r-- | tracker-pt/ftnoir_tracker_pt_dialog.cpp | 9 | ||||
| -rw-r--r-- | tracker-pt/ftnoir_tracker_pt_dialog.h | 6 | 
9 files changed, 94 insertions, 234 deletions
| diff --git a/cv/camera-dialog.cpp b/cv/camera-dialog.cpp deleted file mode 100644 index b422e63c..00000000 --- a/cv/camera-dialog.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright (c) 2015, Stanislaw Halik <sthalik@misaki.pl> - - * Permission to use, copy, modify, and/or distribute this - * software for any purpose with or without fee is hereby granted, - * provided that the above copyright notice and this permission - * notice appear in all copies. - */ - -#include "cv/camera-dialog.hpp" -#include <QDebug> -#include <QMutexLocker> - -void camera_dialog::maybe_grab_frame(cv::VideoCapture& cap) -{ -    for (int i = 0; i < 60; i++) -    { -        if (cap.grab()) -            break; -        portable::sleep(50); -    } -} - -camera_dialog::~camera_dialog() {} - -void camera_dialog::open_camera_settings(cv::VideoCapture* cap, const QString& camera_name, QMutex* camera_mtx) -{ -#ifdef _WIN32 -    init_com_threading(); - -    if (cap) -    { -        QMutexLocker l(camera_mtx); - -        if (cap->isOpened()) -        { -            maybe_grab_frame(*cap); -            cap->set(cv::CAP_PROP_SETTINGS, 1); -            return; -        } -    } - -    if (t.isActive()) -        t.stop(); - -    // don't hog the camera capture -    if (!t.isSingleShot()) -        QObject::connect(&t, &QTimer::timeout, [&]() -> void { delete_capture(); }); - -    fake_capture = cv::VideoCapture(camera_name_to_index(camera_name)); -    maybe_grab_frame(fake_capture); -    fake_capture.set(cv::CAP_PROP_SETTINGS, 1); - -    t.setSingleShot(true); -    t.setInterval(5000); - -    // HACK: we're not notified when it's safe to close the capture -    t.start(); -#elif defined(__linux) -    int idx = camera_name_to_index(camera_name); -    QProcess::startDetached("qv4l2", QStringList() << "-d" << ("/dev/video" + QString::number(idx))); -#else -    // nothing -#endif -} - -#ifdef _WIN32 -void camera_dialog::delete_capture() -{ -    fake_capture.open(""); -} -#endif diff --git a/cv/camera-dialog.hpp b/cv/camera-dialog.hpp deleted file mode 100644 index c5896ca3..00000000 --- a/cv/camera-dialog.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (c) 2015, Stanislaw Halik <sthalik@misaki.pl> - - * Permission to use, copy, modify, and/or distribute this - * software for any purpose with or without fee is hereby granted, - * provided that the above copyright notice and this permission - * notice appear in all copies. - */ - -#pragma once - -#include "compat/camera-names.hpp" -#include "compat/sleep.hpp" -#include "compat/win32-com.hpp" - -#ifdef __linux -#   include <QProcess> -#endif - -#ifdef _WIN32 -#   include <QTimer> -#endif - -#include <opencv2/videoio.hpp> -#include <QMutex> - -class camera_dialog -{ -    static void maybe_grab_frame(cv::VideoCapture& cap); -public: -    virtual ~camera_dialog(); -    void open_camera_settings(cv::VideoCapture*, const QString&, QMutex*); -#if defined(_WIN32) -    cv::VideoCapture fake_capture; -    QTimer t; -    void delete_capture(); -#endif -}; diff --git a/tracker-aruco/aruco-trackercontrols.ui b/tracker-aruco/aruco-trackercontrols.ui index 807fa909..ed1c1edf 100644 --- a/tracker-aruco/aruco-trackercontrols.ui +++ b/tracker-aruco/aruco-trackercontrols.ui @@ -10,7 +10,7 @@      <x>0</x>      <y>0</y>      <width>485</width> -    <height>202</height> +    <height>180</height>     </rect>    </property>    <property name="sizePolicy"> @@ -40,6 +40,20 @@          </property>         </widget>        </item> +      <item row="2" column="0"> +       <widget class="QLabel" name="label_3"> +        <property name="text"> +         <string>Camera name</string> +        </property> +       </widget> +      </item> +      <item row="3" column="0"> +       <widget class="QLabel" name="label_4"> +        <property name="text"> +         <string>Resolution</string> +        </property> +       </widget> +      </item>        <item row="3" column="1">         <widget class="QComboBox" name="resolution">          <property name="sizePolicy"> @@ -70,27 +84,6 @@          </item>         </widget>        </item> -      <item row="2" column="0"> -       <widget class="QLabel" name="label_3"> -        <property name="text"> -         <string>Camera name</string> -        </property> -       </widget> -      </item> -      <item row="3" column="0"> -       <widget class="QLabel" name="label_4"> -        <property name="text"> -         <string>Resolution</string> -        </property> -       </widget> -      </item> -      <item row="0" column="0"> -       <widget class="QLabel" name="label"> -        <property name="text"> -         <string>Diagonal FOV</string> -        </property> -       </widget> -      </item>        <item row="1" column="1">         <widget class="QComboBox" name="cameraFPS">          <property name="sizePolicy"> @@ -131,6 +124,13 @@          </item>         </widget>        </item> +      <item row="0" column="0"> +       <widget class="QLabel" name="label"> +        <property name="text"> +         <string>Diagonal FOV</string> +        </property> +       </widget> +      </item>        <item row="2" column="1">         <widget class="QComboBox" name="cameraName">          <property name="sizePolicy"> @@ -141,20 +141,6 @@          </property>         </widget>        </item> -      <item row="4" column="0"> -       <widget class="QLabel" name="label_6"> -        <property name="text"> -         <string>Camera settings</string> -        </property> -       </widget> -      </item> -      <item row="4" column="1"> -       <widget class="QPushButton" name="camera_settings"> -        <property name="text"> -         <string>Open</string> -        </property> -       </widget> -      </item>        <item row="0" column="1">         <widget class="QSpinBox" name="cameraFOV">          <property name="sizePolicy"> @@ -174,6 +160,19 @@          </property>         </widget>        </item> +      <item row="4" column="1"> +       <spacer name="verticalSpacer"> +        <property name="orientation"> +         <enum>Qt::Vertical</enum> +        </property> +        <property name="sizeHint" stdset="0"> +         <size> +          <width>20</width> +          <height>0</height> +         </size> +        </property> +       </spacer> +      </item>       </layout>      </widget>     </item> @@ -264,6 +263,16 @@     </item>    </layout>   </widget> + <tabstops> +  <tabstop>cameraFOV</tabstop> +  <tabstop>cameraFPS</tabstop> +  <tabstop>cameraName</tabstop> +  <tabstop>resolution</tabstop> +  <tabstop>cx</tabstop> +  <tabstop>cy</tabstop> +  <tabstop>cz</tabstop> +  <tabstop>btn_calibrate</tabstop> + </tabstops>   <resources/>   <connections/>   <designerdata> diff --git a/tracker-aruco/ftnoir_tracker_aruco.cpp b/tracker-aruco/ftnoir_tracker_aruco.cpp index 4fc5405f..d59ac9be 100644 --- a/tracker-aruco/ftnoir_tracker_aruco.cpp +++ b/tracker-aruco/ftnoir_tracker_aruco.cpp @@ -426,7 +426,6 @@ TrackerControls::TrackerControls()      connect(ui.btn_calibrate, SIGNAL(clicked()), this, SLOT(toggleCalibrate()));      connect(this, SIGNAL(destroyed()), this, SLOT(cleanupCalib()));      connect(&calib_timer, SIGNAL(timeout()), this, SLOT(update_tracker_calibration())); -    connect(ui.camera_settings, SIGNAL(clicked()), this, SLOT(camera_settings()));  }  void TrackerControls::toggleCalibrate() @@ -478,9 +477,4 @@ void TrackerControls::doCancel()      close();  } -void TrackerControls::camera_settings() -{ -    open_camera_settings(tracker ? &tracker->camera : nullptr, s.camera_name, tracker ? &tracker->camera_mtx : nullptr); -} -  OPENTRACK_DECLARE_TRACKER(Tracker, TrackerControls, TrackerDll) diff --git a/tracker-aruco/ftnoir_tracker_aruco.h b/tracker-aruco/ftnoir_tracker_aruco.h index 1dd08cb1..101060f7 100644 --- a/tracker-aruco/ftnoir_tracker_aruco.h +++ b/tracker-aruco/ftnoir_tracker_aruco.h @@ -11,11 +11,11 @@  #include "api/plugin-api.hpp"  #include "include/markerdetector.h" -#include "cv/camera-dialog.hpp"  #include "cv/video-widget.hpp"  #include "cv/translation-calibrator.hpp" -#include <opencv2/core/core.hpp> +#include <opencv2/core.hpp> +#include <opencv2/videoio.hpp>  #include <QObject>  #include <QThread> @@ -106,7 +106,7 @@ private:      static constexpr double alpha_ = .95;  }; -class TrackerControls : public ITrackerDialog, protected camera_dialog +class TrackerControls : public ITrackerDialog  {      Q_OBJECT  public: @@ -125,7 +125,6 @@ private slots:      void toggleCalibrate();      void cleanupCalib();      void update_tracker_calibration(); -    void camera_settings();  };  class TrackerDll : public Metadata diff --git a/tracker-pt/FTNoIR_PT_Controls.ui b/tracker-pt/FTNoIR_PT_Controls.ui index 54628964..2675f1a4 100644 --- a/tracker-pt/FTNoIR_PT_Controls.ui +++ b/tracker-pt/FTNoIR_PT_Controls.ui @@ -10,7 +10,7 @@      <x>0</x>      <y>0</y>      <width>424</width> -    <height>579</height> +    <height>568</height>     </rect>    </property>    <property name="sizePolicy"> @@ -83,25 +83,16 @@              </property>             </widget>            </item> -          <item row="2" column="1"> -           <widget class="QSpinBox" name="res_y_spin"> +          <item row="1" column="0"> +           <widget class="QLabel" name="label_36">              <property name="sizePolicy"> -             <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> +             <sizepolicy hsizetype="Expanding" vsizetype="Preferred">                <horstretch>0</horstretch>                <verstretch>0</verstretch>               </sizepolicy>              </property> -            <property name="toolTip"> -             <string>Desired capture height</string> -            </property> -            <property name="suffix"> -             <string> px</string> -            </property> -            <property name="maximum"> -             <number>2000</number> -            </property> -            <property name="singleStep"> -             <number>10</number> +            <property name="text"> +             <string>Width</string>              </property>             </widget>            </item> @@ -118,19 +109,6 @@              </property>             </widget>            </item> -          <item row="1" column="0"> -           <widget class="QLabel" name="label_36"> -            <property name="sizePolicy"> -             <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> -              <horstretch>0</horstretch> -              <verstretch>0</verstretch> -             </sizepolicy> -            </property> -            <property name="text"> -             <string>Width</string> -            </property> -           </widget> -          </item>            <item row="4" column="1">             <widget class="QSpinBox" name="fov">              <property name="suffix"> @@ -147,23 +125,25 @@              </property>             </widget>            </item> -          <item row="5" column="1"> -           <widget class="QCheckBox" name="dynamic_pose"> -            <property name="text"> -             <string/> -            </property> -           </widget> -          </item> -          <item row="5" column="0"> -           <widget class="QLabel" name="label_5"> +          <item row="2" column="1"> +           <widget class="QSpinBox" name="res_y_spin">              <property name="sizePolicy"> -             <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> +             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">                <horstretch>0</horstretch>                <verstretch>0</verstretch>               </sizepolicy>              </property> -            <property name="text"> -             <string>Dynamic pose resolution</string> +            <property name="toolTip"> +             <string>Desired capture height</string> +            </property> +            <property name="suffix"> +             <string> px</string> +            </property> +            <property name="maximum"> +             <number>2000</number> +            </property> +            <property name="singleStep"> +             <number>10</number>              </property>             </widget>            </item> @@ -193,6 +173,26 @@              </property>             </widget>            </item> +          <item row="5" column="1"> +           <widget class="QCheckBox" name="dynamic_pose"> +            <property name="text"> +             <string/> +            </property> +           </widget> +          </item> +          <item row="5" column="0"> +           <widget class="QLabel" name="label_5"> +            <property name="sizePolicy"> +             <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> +              <horstretch>0</horstretch> +              <verstretch>0</verstretch> +             </sizepolicy> +            </property> +            <property name="text"> +             <string>Dynamic pose resolution</string> +            </property> +           </widget> +          </item>            <item row="6" column="1">             <widget class="QSpinBox" name="init_phase_timeout">              <property name="suffix"> @@ -241,19 +241,6 @@              </property>             </widget>            </item> -          <item row="0" column="1"> -           <widget class="QComboBox" name="camdevice_combo"> -            <property name="sizePolicy"> -             <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> -              <horstretch>0</horstretch> -              <verstretch>0</verstretch> -             </sizepolicy> -            </property> -            <property name="minimumContentsLength"> -             <number>10</number> -            </property> -           </widget> -          </item>            <item row="0" column="0">             <widget class="QLabel" name="label_2">              <property name="sizePolicy"> @@ -270,23 +257,16 @@              </property>             </widget>            </item> -          <item row="7" column="0"> -           <widget class="QLabel" name="label_9"> -            <property name="text"> -             <string>Camera settings dialog</string> -            </property> -           </widget> -          </item> -          <item row="7" column="1"> -           <widget class="QPushButton" name="camera_settings"> +          <item row="0" column="1"> +           <widget class="QComboBox" name="camdevice_combo">              <property name="sizePolicy"> -             <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> +             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">                <horstretch>0</horstretch>                <verstretch>0</verstretch>               </sizepolicy>              </property> -            <property name="text"> -             <string>Open</string> +            <property name="minimumContentsLength"> +             <number>10</number>              </property>             </widget>            </item> diff --git a/tracker-pt/ftnoir_tracker_pt.h b/tracker-pt/ftnoir_tracker_pt.h index 04a6646f..29902260 100644 --- a/tracker-pt/ftnoir_tracker_pt.h +++ b/tracker-pt/ftnoir_tracker_pt.h @@ -15,7 +15,6 @@  #include "point_extractor.h"  #include "point_tracker.h"  #include "compat/timer.hpp" -#include "cv/camera-dialog.hpp"  #include "cv/video-widget.hpp"  #include "compat/pi-constant.hpp" diff --git a/tracker-pt/ftnoir_tracker_pt_dialog.cpp b/tracker-pt/ftnoir_tracker_pt_dialog.cpp index 88465c42..f5cabe4b 100644 --- a/tracker-pt/ftnoir_tracker_pt_dialog.cpp +++ b/tracker-pt/ftnoir_tracker_pt_dialog.cpp @@ -72,21 +72,12 @@ TrackerDialog_PT::TrackerDialog_PT()      connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(doCancel()));      connect(&timer,SIGNAL(timeout()), this,SLOT(poll_tracker_info())); -    connect(ui.camera_settings, SIGNAL(clicked()), this, SLOT(camera_settings()));      timer.start(250);      connect(&calib_timer, &QTimer::timeout, this, &TrackerDialog_PT::trans_calib_step);      calib_timer.setInterval(100);  } -void TrackerDialog_PT::camera_settings() -{ -    if (tracker) -        open_camera_settings(static_cast<cv::VideoCapture*>(tracker->camera), s.camera_name, &tracker->camera_mtx); -    else -        open_camera_settings(nullptr, s.camera_name, nullptr); -} -  void TrackerDialog_PT::startstop_trans_calib(bool start)  {      if (start) diff --git a/tracker-pt/ftnoir_tracker_pt_dialog.h b/tracker-pt/ftnoir_tracker_pt_dialog.h index c13c1216..b57e32c3 100644 --- a/tracker-pt/ftnoir_tracker_pt_dialog.h +++ b/tracker-pt/ftnoir_tracker_pt_dialog.h @@ -12,15 +12,12 @@  #include "ftnoir_tracker_pt_settings.h"  #include "ftnoir_tracker_pt.h"  #include "ui_FTNoIR_PT_Controls.h" -#include "cv/camera-dialog.hpp"  #include "cv/translation-calibrator.hpp"  #include "cv/video-widget.hpp"  #include <QTimer> -//----------------------------------------------------------------------------- -// The dialog that shows up when the user presses "Settings" -class TrackerDialog_PT : public ITrackerDialog, protected camera_dialog +class TrackerDialog_PT : public ITrackerDialog  {      Q_OBJECT  public: @@ -35,7 +32,6 @@ public slots:      void startstop_trans_calib(bool start);      void trans_calib_step();      void poll_tracker_info(); -    void camera_settings();  private:      settings_pt s;      Tracker_PT* tracker; | 
