summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-09-05 20:31:01 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-09-05 20:31:01 +0200
commitdec625e51878c9167100837086f82fb0f78b0189 (patch)
tree43f0e083d0630952ae666f588e2b43c8f358ac4f
parent420748abc9b5cd13b4f0d98068619e90d503450d (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.cpp71
-rw-r--r--cv/camera-dialog.hpp37
-rw-r--r--tracker-aruco/aruco-trackercontrols.ui81
-rw-r--r--tracker-aruco/ftnoir_tracker_aruco.cpp6
-rw-r--r--tracker-aruco/ftnoir_tracker_aruco.h7
-rw-r--r--tracker-pt/FTNoIR_PT_Controls.ui110
-rw-r--r--tracker-pt/ftnoir_tracker_pt.h1
-rw-r--r--tracker-pt/ftnoir_tracker_pt_dialog.cpp9
-rw-r--r--tracker-pt/ftnoir_tracker_pt_dialog.h6
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;