diff options
-rw-r--r-- | tracker-easy/lang/nl_NL.ts | 16 | ||||
-rw-r--r-- | tracker-easy/lang/ru_RU.ts | 16 | ||||
-rw-r--r-- | tracker-easy/lang/stub.ts | 16 | ||||
-rw-r--r-- | tracker-easy/lang/zh_CN.ts | 16 | ||||
-rw-r--r-- | tracker-easy/settings.h | 4 | ||||
-rw-r--r-- | tracker-easy/tracker-easy-dialog.cpp | 3 | ||||
-rw-r--r-- | tracker-easy/tracker-easy-settings.ui | 265 | ||||
-rw-r--r-- | tracker-easy/tracker-easy.cpp | 20 |
8 files changed, 152 insertions, 204 deletions
diff --git a/tracker-easy/lang/nl_NL.ts b/tracker-easy/lang/nl_NL.ts index b10c7e14..1054e1f7 100644 --- a/tracker-easy/lang/nl_NL.ts +++ b/tracker-easy/lang/nl_NL.ts @@ -82,10 +82,6 @@ <translation type="unfinished"></translation> </message> <message> - <source>Dynamic pose timeout</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Desired capture framerate</source> <translation type="unfinished"></translation> </message> @@ -102,10 +98,6 @@ <translation type="unfinished"></translation> </message> <message> - <source> ms</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Device</source> <translation type="unfinished"></translation> </message> @@ -166,10 +158,6 @@ <translation type="unfinished"></translation> </message> <message> - <source>Dynamic pose (for caps only, never clips)</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Maximum point diameter</source> <translation type="unfinished"></translation> </message> @@ -274,5 +262,9 @@ Don't roll or change position.</source> <source>Green only</source> <translation type="unfinished"></translation> </message> + <message> + <source>Debug (full size preview)</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/tracker-easy/lang/ru_RU.ts b/tracker-easy/lang/ru_RU.ts index 7f5df2e2..66245b14 100644 --- a/tracker-easy/lang/ru_RU.ts +++ b/tracker-easy/lang/ru_RU.ts @@ -82,10 +82,6 @@ <translation></translation> </message> <message> - <source>Dynamic pose timeout</source> - <translation>Динамическая поза (время ожидания)</translation> - </message> - <message> <source>Desired capture framerate</source> <translation>Желаемая частота кадров</translation> </message> @@ -102,14 +98,6 @@ <translation>Высота</translation> </message> <message> - <source> ms</source> - <translation> мс</translation> - </message> - <message> - <source>Dynamic pose (for caps only, never clips)</source> - <translation>Динамическая поза (Только для модели "Кепка")</translation> - </message> - <message> <source>Device</source> <translation>Устройство</translation> </message> @@ -279,5 +267,9 @@ ROLL или X/Y-смещения.</translation> <source>Green only</source> <translation type="unfinished"></translation> </message> + <message> + <source>Debug (full size preview)</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/tracker-easy/lang/stub.ts b/tracker-easy/lang/stub.ts index 144b8e76..eca29787 100644 --- a/tracker-easy/lang/stub.ts +++ b/tracker-easy/lang/stub.ts @@ -82,10 +82,6 @@ <translation type="unfinished"></translation> </message> <message> - <source>Dynamic pose timeout</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Desired capture framerate</source> <translation type="unfinished"></translation> </message> @@ -102,10 +98,6 @@ <translation type="unfinished"></translation> </message> <message> - <source> ms</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Device</source> <translation type="unfinished"></translation> </message> @@ -166,10 +158,6 @@ <translation type="unfinished"></translation> </message> <message> - <source>Dynamic pose (for caps only, never clips)</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Maximum point diameter</source> <translation type="unfinished"></translation> </message> @@ -274,5 +262,9 @@ Don't roll or change position.</source> <source>Green only</source> <translation type="unfinished"></translation> </message> + <message> + <source>Debug (full size preview)</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/tracker-easy/lang/zh_CN.ts b/tracker-easy/lang/zh_CN.ts index 43e121ac..656cb8db 100644 --- a/tracker-easy/lang/zh_CN.ts +++ b/tracker-easy/lang/zh_CN.ts @@ -82,10 +82,6 @@ <translation> 像素点</translation> </message> <message> - <source>Dynamic pose timeout</source> - <translation>动态姿态超时时间</translation> - </message> - <message> <source>Desired capture framerate</source> <translation>期望帧数</translation> </message> @@ -102,10 +98,6 @@ <translation>高度</translation> </message> <message> - <source> ms</source> - <translation> 毫秒</translation> - </message> - <message> <source>Device</source> <translation>设备名称</translation> </message> @@ -258,10 +250,6 @@ <translation type="unfinished"></translation> </message> <message> - <source>Dynamic pose (for caps only, never clips)</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Value</source> <translation type="unfinished"></translation> </message> @@ -274,5 +262,9 @@ Don't roll or change position.</source> <source>Green only</source> <translation type="unfinished"></translation> </message> + <message> + <source>Debug (full size preview)</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/tracker-easy/settings.h b/tracker-easy/settings.h index 7d8c7c70..ed5d0abd 100644 --- a/tracker-easy/settings.h +++ b/tracker-easy/settings.h @@ -54,8 +54,8 @@ namespace EasyTracker { value<int> fov{ b, "camera-fov", 56 }; - value<bool> dynamic_pose{ b, "dynamic-pose-resolution", false }; - value<int> init_phase_timeout{ b, "init-phase-timeout", 250 }; + value<bool> debug{ b, "debug", false }; + value<bool> auto_threshold{ b, "automatic-threshold", true }; value<pt_color_type> blob_color{ b, "blob-color", pt_color_natural }; diff --git a/tracker-easy/tracker-easy-dialog.cpp b/tracker-easy/tracker-easy-dialog.cpp index 0b0dd61d..f56ddfdb 100644 --- a/tracker-easy/tracker-easy-dialog.cpp +++ b/tracker-easy/tracker-easy-dialog.cpp @@ -71,8 +71,7 @@ namespace EasyTracker tie_setting(s.active_model_panel, ui.model_tabs); - tie_setting(s.dynamic_pose, ui.dynamic_pose); - tie_setting(s.init_phase_timeout, ui.init_phase_timeout); + tie_setting(s.debug, ui.debug); tie_setting(s.auto_threshold, ui.auto_threshold); diff --git a/tracker-easy/tracker-easy-settings.ui b/tracker-easy/tracker-easy-settings.ui index 41f08707..4430020d 100644 --- a/tracker-easy/tracker-easy-settings.ui +++ b/tracker-easy/tracker-easy-settings.ui @@ -23,7 +23,7 @@ <string>PointTracker Settings</string> </property> <property name="windowIcon"> - <iconset resource="tracker_easy.qrc"> + <iconset> <normaloff>:/Resources/tracker-easy-logo.png</normaloff>:/Resources/tracker-easy-logo.png</iconset> </property> <property name="layoutDirection"> @@ -134,43 +134,50 @@ <string>Camera settings</string> </property> <layout class="QGridLayout" name="gridLayout_2"> - <item row="0" column="1"> - <widget class="QComboBox" name="camdevice_combo"> + <item row="5" column="0"> + <widget class="QLabel" name="label_5"> <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="minimumContentsLength"> - <number>10</number> + <property name="text"> + <string>Debug (full size preview)</string> </property> </widget> </item> - <item row="4" column="1"> - <widget class="QSpinBox" name="fov"> + <item row="0" column="0"> + <widget class="QLabel" name="label_2"> <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="suffix"> - <string>°</string> + <property name="text"> + <string>Device</string> </property> - <property name="prefix"> - <string/> + <property name="buddy"> + <cstring>camdevice_combo</cstring> </property> - <property name="minimum"> - <number>10</number> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="camdevice_combo"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="maximum"> - <number>90</number> + <property name="minimumContentsLength"> + <number>10</number> </property> </widget> </item> - <item row="4" column="0"> - <widget class="QLabel" name="label_4"> + <item row="2" column="0"> + <widget class="QLabel" name="label_41"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> @@ -178,12 +185,12 @@ </sizepolicy> </property> <property name="text"> - <string>Diagonal field of view</string> + <string>Height</string> </property> </widget> </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_36"> + <item row="7" column="0"> + <widget class="QLabel" name="label_12"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> @@ -191,50 +198,38 @@ </sizepolicy> </property> <property name="text"> - <string>Width</string> + <string>Color channels used</string> </property> </widget> </item> - <item row="3" column="0"> - <widget class="QLabel" name="label_37"> + <item row="5" column="1"> + <widget class="QCheckBox" name="debug"> <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text"> - <string>FPS</string> - </property> - <property name="buddy"> - <cstring>fps_spin</cstring> + <string/> </property> </widget> </item> - <item row="2" column="1"> - <widget class="QSpinBox" name="res_y_spin"> + <item row="6" column="1"> + <widget class="QPushButton" name="camera_settings"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <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>Open</string> </property> </widget> </item> <item row="6" column="0"> - <widget class="QLabel" name="label_6"> + <widget class="QLabel" name="label_9"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> @@ -242,44 +237,69 @@ </sizepolicy> </property> <property name="text"> - <string>Dynamic pose timeout</string> + <string>Camera settings (when available)</string> </property> </widget> </item> - <item row="3" column="1"> - <widget class="QSpinBox" name="fps_spin"> + <item row="7" column="1"> + <widget class="QComboBox" name="blob_color"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="toolTip"> - <string>Desired capture framerate</string> - </property> - <property name="suffix"> - <string> Hz</string> - </property> - <property name="maximum"> - <number>2000</number> - </property> + <item> + <property name="text"> + <string>Average</string> + </property> + </item> + <item> + <property name="text"> + <string>Natural</string> + </property> + </item> + <item> + <property name="text"> + <string>Red only</string> + </property> + </item> + <item> + <property name="text"> + <string>Green only</string> + </property> + </item> + <item> + <property name="text"> + <string>Blue only</string> + </property> + </item> </widget> </item> - <item row="5" column="1"> - <widget class="QCheckBox" name="dynamic_pose"> + <item row="4" column="1"> + <widget class="QSpinBox" name="fov"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="text"> + <property name="suffix"> + <string>°</string> + </property> + <property name="prefix"> <string/> </property> + <property name="minimum"> + <number>10</number> + </property> + <property name="maximum"> + <number>90</number> + </property> </widget> </item> - <item row="1" column="1"> - <widget class="QSpinBox" name="res_x_spin"> + <item row="2" column="1"> + <widget class="QSpinBox" name="res_y_spin"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> @@ -287,7 +307,7 @@ </sizepolicy> </property> <property name="toolTip"> - <string>Desired capture width</string> + <string>Desired capture height</string> </property> <property name="suffix"> <string> px</string> @@ -300,8 +320,8 @@ </property> </widget> </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_41"> + <item row="1" column="0"> + <widget class="QLabel" name="label_36"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> @@ -309,31 +329,12 @@ </sizepolicy> </property> <property name="text"> - <string>Height</string> - </property> - </widget> - </item> - <item row="6" column="1"> - <widget class="QSpinBox" name="init_phase_timeout"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix"> - <string> ms</string> - </property> - <property name="minimum"> - <number>50</number> - </property> - <property name="maximum"> - <number>5000</number> + <string>Width</string> </property> </widget> </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_2"> + <item row="4" column="0"> + <widget class="QLabel" name="label_4"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> @@ -341,41 +342,31 @@ </sizepolicy> </property> <property name="text"> - <string>Device</string> - </property> - <property name="buddy"> - <cstring>camdevice_combo</cstring> + <string>Diagonal field of view</string> </property> </widget> </item> - <item row="7" column="1"> - <widget class="QPushButton" name="camera_settings"> + <item row="3" column="1"> + <widget class="QSpinBox" name="fps_spin"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="text"> - <string>Open</string> + <property name="toolTip"> + <string>Desired capture framerate</string> </property> - </widget> - </item> - <item row="7" column="0"> - <widget class="QLabel" name="label_9"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <property name="suffix"> + <string> Hz</string> </property> - <property name="text"> - <string>Camera settings (when available)</string> + <property name="maximum"> + <number>2000</number> </property> </widget> </item> - <item row="8" column="0"> - <widget class="QLabel" name="label_12"> + <item row="3" column="0"> + <widget class="QLabel" name="label_37"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>0</horstretch> @@ -383,55 +374,32 @@ </sizepolicy> </property> <property name="text"> - <string>Color channels used</string> + <string>FPS</string> + </property> + <property name="buddy"> + <cstring>fps_spin</cstring> </property> </widget> </item> - <item row="8" column="1"> - <widget class="QComboBox" name="blob_color"> + <item row="1" column="1"> + <widget class="QSpinBox" name="res_x_spin"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <item> - <property name="text"> - <string>Average</string> - </property> - </item> - <item> - <property name="text"> - <string>Natural</string> - </property> - </item> - <item> - <property name="text"> - <string>Red only</string> - </property> - </item> - <item> - <property name="text"> - <string>Green only</string> - </property> - </item> - <item> - <property name="text"> - <string>Blue only</string> - </property> - </item> - </widget> - </item> - <item row="5" column="0"> - <widget class="QLabel" name="label_5"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <property name="toolTip"> + <string>Desired capture width</string> </property> - <property name="text"> - <string>Dynamic pose (for caps only, never clips)</string> + <property name="suffix"> + <string> px</string> + </property> + <property name="maximum"> + <number>2000</number> + </property> + <property name="singleStep"> + <number>10</number> </property> </widget> </item> @@ -1349,7 +1317,7 @@ Don't roll or change position.</string> <string/> </property> <property name="pixmap"> - <pixmap resource="tracker_easy.qrc">:/Resources/tracker-easy-logo.png</pixmap> + <pixmap>:/Resources/tracker-easy-logo.png</pixmap> </property> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> @@ -1382,8 +1350,7 @@ Don't roll or change position.</string> <tabstop>res_y_spin</tabstop> <tabstop>fps_spin</tabstop> <tabstop>fov</tabstop> - <tabstop>dynamic_pose</tabstop> - <tabstop>init_phase_timeout</tabstop> + <tabstop>debug</tabstop> <tabstop>camera_settings</tabstop> <tabstop>blob_color</tabstop> <tabstop>auto_threshold</tabstop> diff --git a/tracker-easy/tracker-easy.cpp b/tracker-easy/tracker-easy.cpp index 7850a23e..e69cbb92 100644 --- a/tracker-easy/tracker-easy.cpp +++ b/tracker-easy/tracker-easy.cpp @@ -121,7 +121,10 @@ namespace EasyTracker QMutexLocker l(&camera_mtx); if (camera) + { std::tie(iFrame, new_frame) = camera->get_frame(); + } + } if (new_frame) @@ -304,8 +307,11 @@ namespace EasyTracker } // Show full size preview pop-up - cv::imshow("Preview", iPreview.iFrameRgb); - cv::waitKey(1); + if (s.debug) + { + cv::imshow("Preview", iPreview.iFrameRgb); + cv::waitKey(1); + } // Update preview widget widget->update_image(iPreview.get_bitmap()); @@ -321,7 +327,10 @@ namespace EasyTracker else { // No preview, destroy preview pop-up - cv::destroyWindow("Preview"); + if (s.debug) + { + cv::destroyWindow("Preview"); + } } } } @@ -331,6 +340,11 @@ namespace EasyTracker { QMutexLocker l(&camera_mtx); + if (camera->is_open()) + { + return true; + } + iCameraInfo.fps = s.cam_fps; iCameraInfo.width = s.cam_res_x; iCameraInfo.height = s.cam_res_y; |