diff --git a/Calibration/mainwindow.cpp b/Calibration/mainwindow.cpp index a2ba4dfd3568bb9dcfcf1a0a0ed16fa618348610..612b5bd7a3a5b2c6316f743eb5c6ef49f958ee05 100644 --- a/Calibration/mainwindow.cpp +++ b/Calibration/mainwindow.cpp @@ -19,10 +19,9 @@ MainWindow::MainWindow(QWidget *parent) parent->connect(ui->btnReload, SIGNAL (released()),this, SLOT(reloadListRealSenseDevices())); parent->connect(ui->btnSave, SIGNAL (released()),this, SLOT(saveConfiguration())); parent->connect(ui->btnConfig, SIGNAL (released()),this, SLOT(configure())); - //parent->connect(ui->lblImage, SIGNAL (mousePressed()),this, SLOT(selectEdgeBorder())); parent->connect(ui->lblImage, SIGNAL (mousePos()),this, SLOT(moveEdgeBorder())); parent->connect(ui->lblImage, SIGNAL (mouseLeft()),this, SLOT(deselectEdgeBorder())); - //parent->connect(ui->MainWindow, SIGNAL (mousePressEvent(QMouseEvent*)),this, SLOT(test(QMouseEvent*))); + // init cursor for console pteConsole_cursor = QTextCursor(ui->pteConsole->document()); pteConsole_cursor.movePosition(QTextCursor::End); @@ -36,6 +35,7 @@ MainWindow::MainWindow(QWidget *parent) */ MainWindow::~MainWindow() { + sandbox.stopCamera(); delete ui; } @@ -111,47 +111,82 @@ void MainWindow::saveConfiguration() { sandbox.serialize(out); pteConsole_cursor.insertText("Serialized\n"); out.close(); + + ifstream in("./device"); + + pteConsole_cursor.insertText("Deserialize\n"); + sandbox.deserialize(in); + pteConsole_cursor.insertText("Deserialized\n"); + out.close(); } /*! * \brief MainWindow::configure * Launch the process to configure the matrix */ -void MainWindow::configure() { - Mat coloredFrame = sandbox.generateBorder(); - ui->lblImage->setPixmap(QPixmap::fromImage(QImage(coloredFrame.data, coloredFrame.cols, coloredFrame.rows, coloredFrame.step, QImage::Format_RGB888))); - pteConsole_cursor.insertText("Ready to init\n"); - borderEdition = true; -} - -void MainWindow::selectEdgeBorder() -{ - if (borderEdition) { - selectedPoint = sandbox.findEdgeBorder(ui->lblImage->x, ui->lblImage->y); +void MainWindow::configure() { + switch (stepConfiguration) { + case 0: // Edit the border + { + Mat coloredFrame = sandbox.generateBorder(); + ui->lblImage->setPixmap(QPixmap::fromImage(QImage(coloredFrame.data, coloredFrame.cols, coloredFrame.rows, coloredFrame.step, QImage::Format_RGB888))); + pteConsole_cursor.insertText("Ready to init\n"); + ui->btnConfig->setText("Generate matrix"); + stepConfiguration = 1; + break; + } + case 1: // Valid the border for the matrix deformation and start beamer detection + { + sandbox.applyBorder(); + ui->btnConfig->setText("Capture Point"); + Mat frameDetection; + stepConfiguration = 2; + do { + tie(frameDetection, crcToDetectBeamer) = sandbox.detectPointToDetectBeamer(indexPointToDetectBeamer); + ui->lblImage->setPixmap(QPixmap::fromImage(QImage(frameDetection.data, frameDetection.cols, frameDetection.rows, frameDetection.step, QImage::Format_RGB888))); + waitKey(500); + } while(indexPointToDetectBeamer < 3); + ui->lblImage->setPixmap(QPixmap()); + stepConfiguration = 3; + break; + } + case 2: + { + if (!crcToDetectBeamer.empty()) + { + sandbox.capturePointToDetectBeamer(crcToDetectBeamer); + indexPointToDetectBeamer++; + pteConsole_cursor.insertText("add element\n"); + } + } + default: + break; } } +/*! + * \brief MainWindow::moveEdgeBorder + * mouseMoveEvent when the mouse is pressed on the label + * selected the edge of border the nearest of the mouse + */ void MainWindow::moveEdgeBorder() { - pteConsole_cursor.insertText(QString::number(ui->lblImage->x)); - pteConsole_cursor.insertText(" "); - pteConsole_cursor.insertText(QString::number(ui->lblImage->y)); - pteConsole_cursor.insertText("\n"); - if (borderEdition) { + + if (stepConfiguration == 1) { if (selectedPoint == -1) { selectedPoint = sandbox.findEdgeBorder(ui->lblImage->x, ui->lblImage->y); - //pteConsole_cursor.insertText(QString::number(selectedPoint)); - //pteConsole_cursor.insertText("\n"); } else { - pteConsole_cursor.insertText(QString::number(selectedPoint)); - pteConsole_cursor.insertText("\n"); Mat coloredFrame = sandbox.editEdgeBorder(selectedPoint,ui->lblImage->x, ui->lblImage->y); ui->lblImage->setPixmap(QPixmap::fromImage(QImage(coloredFrame.data, coloredFrame.cols, coloredFrame.rows, coloredFrame.step, QImage::Format_RGB888))); } } } +/*! + * \brief MainWindow::deselectEdgeBorder + * mouseReleaseEvent which deselect the edge of the border + */ void MainWindow::deselectEdgeBorder() { - if (borderEdition) { + if (stepConfiguration == 1) { selectedPoint = -1; } } diff --git a/Calibration/mainwindow.h b/Calibration/mainwindow.h index 8b4c2e6e0ea253be50a78b56a14f60713eb1eeb9..378a6e005a4eb565009751fa58df922bd7a132be 100644 --- a/Calibration/mainwindow.h +++ b/Calibration/mainwindow.h @@ -35,7 +35,9 @@ private: device_list listRealSenseDevices; Sandbox sandbox; int selectedPoint = -1; - bool borderEdition = false; + int stepConfiguration = 0; + vector<int> crcToDetectBeamer; + int indexPointToDetectBeamer = 0; // Methods void showListRealSenseDevices(); @@ -47,7 +49,6 @@ private slots: void reloadListRealSenseDevices(); void saveConfiguration(); void configure(); - void selectEdgeBorder(); void moveEdgeBorder(); void deselectEdgeBorder(); }; diff --git a/Calibration/mainwindow.ui b/Calibration/mainwindow.ui index fd1257837cf5afa779cb060a5d0298db1acc2582..ae688999522c1d539d8cd901f64c93ba2d6c1014 100644 --- a/Calibration/mainwindow.ui +++ b/Calibration/mainwindow.ui @@ -10,7 +10,7 @@ <x>0</x> <y>0</y> <width>1920</width> - <height>445</height> + <height>800</height> </rect> </property> <property name="windowTitle"> @@ -103,13 +103,13 @@ </spacer> </item> <item> - <widget class="ReactiveLabel" name="lblImage"> + <widget class="ReactiveLabel" name="lblImage" native="true"> <property name="styleSheet"> <string notr="true">border-color: rgb(46, 52, 54); border-width: 1px; border-style: solid;</string> </property> - <property name="text"> + <property name="text" stdset="0"> <string/> </property> </widget> @@ -209,6 +209,13 @@ border-style: solid;</string> </widget> <widget class="QStatusBar" name="statusbar"/> </widget> + <customwidgets> + <customwidget> + <class>ReactiveLabel</class> + <extends>QWidget</extends> + <header>reactivelabel.h</header> + </customwidget> + </customwidgets> <resources/> <connections/> </ui> diff --git a/build-Calibration-Desktop-Debug/2020-04-07-13_54_21.log b/build-Calibration-Desktop-Debug/2020-04-07-13_54_21.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-13_55_47.log b/build-Calibration-Desktop-Debug/2020-04-07-13_55_47.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-13_57_17.log b/build-Calibration-Desktop-Debug/2020-04-07-13_57_17.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-13_57_26.log b/build-Calibration-Desktop-Debug/2020-04-07-13_57_26.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-13_58_18.log b/build-Calibration-Desktop-Debug/2020-04-07-13_58_18.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_12_44.log b/build-Calibration-Desktop-Debug/2020-04-07-14_12_44.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_12_53.log b/build-Calibration-Desktop-Debug/2020-04-07-14_12_53.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_14_49.log b/build-Calibration-Desktop-Debug/2020-04-07-14_14_49.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_17_30.log b/build-Calibration-Desktop-Debug/2020-04-07-14_17_30.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_18_11.log b/build-Calibration-Desktop-Debug/2020-04-07-14_18_11.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_18_28.log b/build-Calibration-Desktop-Debug/2020-04-07-14_18_28.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_20_20.log b/build-Calibration-Desktop-Debug/2020-04-07-14_20_20.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_24_54.log b/build-Calibration-Desktop-Debug/2020-04-07-14_24_54.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_28_25.log b/build-Calibration-Desktop-Debug/2020-04-07-14_28_25.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_29_32.log b/build-Calibration-Desktop-Debug/2020-04-07-14_29_32.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_30_09.log b/build-Calibration-Desktop-Debug/2020-04-07-14_30_09.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_49_00.log b/build-Calibration-Desktop-Debug/2020-04-07-14_49_00.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_50_12.log b/build-Calibration-Desktop-Debug/2020-04-07-14_50_12.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_51_04.log b/build-Calibration-Desktop-Debug/2020-04-07-14_51_04.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-14_51_28.log b/build-Calibration-Desktop-Debug/2020-04-07-14_51_28.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_07_52.log b/build-Calibration-Desktop-Debug/2020-04-07-15_07_52.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_15_41.log b/build-Calibration-Desktop-Debug/2020-04-07-15_15_41.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_20_10.log b/build-Calibration-Desktop-Debug/2020-04-07-15_20_10.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_23_05.log b/build-Calibration-Desktop-Debug/2020-04-07-15_23_05.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_37_22.log b/build-Calibration-Desktop-Debug/2020-04-07-15_37_22.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_42_25.log b/build-Calibration-Desktop-Debug/2020-04-07-15_42_25.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_43_19.log b/build-Calibration-Desktop-Debug/2020-04-07-15_43_19.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_45_05.log b/build-Calibration-Desktop-Debug/2020-04-07-15_45_05.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_46_00.log b/build-Calibration-Desktop-Debug/2020-04-07-15_46_00.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_46_45.log b/build-Calibration-Desktop-Debug/2020-04-07-15_46_45.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_51_03.log b/build-Calibration-Desktop-Debug/2020-04-07-15_51_03.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-15_52_37.log b/build-Calibration-Desktop-Debug/2020-04-07-15_52_37.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-16_03_35.log b/build-Calibration-Desktop-Debug/2020-04-07-16_03_35.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-16_07_24.log b/build-Calibration-Desktop-Debug/2020-04-07-16_07_24.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-16_09_47.log b/build-Calibration-Desktop-Debug/2020-04-07-16_09_47.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-16_15_59.log b/build-Calibration-Desktop-Debug/2020-04-07-16_15_59.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-16_23_36.log b/build-Calibration-Desktop-Debug/2020-04-07-16_23_36.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-16_57_51.log b/build-Calibration-Desktop-Debug/2020-04-07-16_57_51.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-09-13_20_15.log b/build-Calibration-Desktop-Debug/2020-04-09-13_20_15.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-09-13_26_24.log b/build-Calibration-Desktop-Debug/2020-04-09-13_26_24.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-10-09_43_03.log b/build-Calibration-Desktop-Debug/2020-04-10-09_43_03.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-10-09_44_48.log b/build-Calibration-Desktop-Debug/2020-04-10-09_44_48.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-10-09_47_36.log b/build-Calibration-Desktop-Debug/2020-04-10-09_47_36.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-10-09_50_46.log b/build-Calibration-Desktop-Debug/2020-04-10-09_50_46.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-10-10_09_24.log b/build-Calibration-Desktop-Debug/2020-04-10-10_09_24.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-09_29_15.log b/build-Calibration-Desktop-Debug/2020-04-21-09_29_15.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-09_36_00.log b/build-Calibration-Desktop-Debug/2020-04-21-09_36_00.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-09_57_14.log b/build-Calibration-Desktop-Debug/2020-04-21-09_57_14.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_11_01.log b/build-Calibration-Desktop-Debug/2020-04-21-10_11_01.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_15_38.log b/build-Calibration-Desktop-Debug/2020-04-21-10_15_38.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_21_26.log b/build-Calibration-Desktop-Debug/2020-04-21-10_21_26.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_22_01.log b/build-Calibration-Desktop-Debug/2020-04-21-10_22_01.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_26_06.log b/build-Calibration-Desktop-Debug/2020-04-21-10_26_06.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_26_44.log b/build-Calibration-Desktop-Debug/2020-04-21-10_26_44.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_34_44.log b/build-Calibration-Desktop-Debug/2020-04-21-10_34_44.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_35_41.log b/build-Calibration-Desktop-Debug/2020-04-21-10_35_41.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_37_29.log b/build-Calibration-Desktop-Debug/2020-04-21-10_37_29.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_38_06.log b/build-Calibration-Desktop-Debug/2020-04-21-10_38_06.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_43_38.log b/build-Calibration-Desktop-Debug/2020-04-21-10_43_38.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_49_33.log b/build-Calibration-Desktop-Debug/2020-04-21-10_49_33.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_50_17.log b/build-Calibration-Desktop-Debug/2020-04-21-10_50_17.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-10_51_58.log b/build-Calibration-Desktop-Debug/2020-04-21-10_51_58.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-11_17_01.log b/build-Calibration-Desktop-Debug/2020-04-21-11_17_01.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-13_10_49.log b/build-Calibration-Desktop-Debug/2020-04-21-13_10_49.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-13_48_22.log b/build-Calibration-Desktop-Debug/2020-04-21-13_48_22.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-14_55_14.log b/build-Calibration-Desktop-Debug/2020-04-21-14_55_14.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_01_09.log b/build-Calibration-Desktop-Debug/2020-04-21-15_01_09.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_01_51.log b/build-Calibration-Desktop-Debug/2020-04-21-15_01_51.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_03_46.log b/build-Calibration-Desktop-Debug/2020-04-21-15_03_46.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_05_58.log b/build-Calibration-Desktop-Debug/2020-04-21-15_05_58.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_06_41.log b/build-Calibration-Desktop-Debug/2020-04-21-15_06_41.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_10_24.log b/build-Calibration-Desktop-Debug/2020-04-21-15_10_24.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_12_53.log b/build-Calibration-Desktop-Debug/2020-04-21-15_12_53.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-15_17_02.log b/build-Calibration-Desktop-Debug/2020-04-21-15_17_02.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_15_35.log b/build-Calibration-Desktop-Debug/2020-04-21-16_15_35.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_16_17.log b/build-Calibration-Desktop-Debug/2020-04-21-16_16_17.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_20_08.log b/build-Calibration-Desktop-Debug/2020-04-21-16_20_08.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_20_56.log b/build-Calibration-Desktop-Debug/2020-04-21-16_20_56.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_22_11.log b/build-Calibration-Desktop-Debug/2020-04-21-16_22_11.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_24_00.log b/build-Calibration-Desktop-Debug/2020-04-21-16_24_00.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_26_23.log b/build-Calibration-Desktop-Debug/2020-04-21-16_26_23.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_32_00.log b/build-Calibration-Desktop-Debug/2020-04-21-16_32_00.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_38_19.log b/build-Calibration-Desktop-Debug/2020-04-21-16_38_19.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_39_22.log b/build-Calibration-Desktop-Debug/2020-04-21-16_39_22.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_49_28.log b/build-Calibration-Desktop-Debug/2020-04-21-16_49_28.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_50_29.log b/build-Calibration-Desktop-Debug/2020-04-21-16_50_29.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_54_34.log b/build-Calibration-Desktop-Debug/2020-04-21-16_54_34.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_55_18.log b/build-Calibration-Desktop-Debug/2020-04-21-16_55_18.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_56_10.log b/build-Calibration-Desktop-Debug/2020-04-21-16_56_10.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_58_22.log b/build-Calibration-Desktop-Debug/2020-04-21-16_58_22.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-16_59_02.log b/build-Calibration-Desktop-Debug/2020-04-21-16_59_02.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-17_00_49.log b/build-Calibration-Desktop-Debug/2020-04-21-17_00_49.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-17_03_09.log b/build-Calibration-Desktop-Debug/2020-04-21-17_03_09.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-17_04_47.log b/build-Calibration-Desktop-Debug/2020-04-21-17_04_47.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-17_05_34.log b/build-Calibration-Desktop-Debug/2020-04-21-17_05_34.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-17_06_56.log b/build-Calibration-Desktop-Debug/2020-04-21-17_06_56.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-21-17_09_27.log b/build-Calibration-Desktop-Debug/2020-04-21-17_09_27.log deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/build-Calibration-Desktop-Debug/2020-04-07-11_51_26.log b/build-Calibration-Desktop-Debug/2020-04-28-16_09_19.log similarity index 100% rename from build-Calibration-Desktop-Debug/2020-04-07-11_51_26.log rename to build-Calibration-Desktop-Debug/2020-04-28-16_09_19.log diff --git a/build-Calibration-Desktop-Debug/2020-04-07-12_26_28.log b/build-Calibration-Desktop-Debug/2020-04-28-16_10_49.log similarity index 100% rename from build-Calibration-Desktop-Debug/2020-04-07-12_26_28.log rename to build-Calibration-Desktop-Debug/2020-04-28-16_10_49.log diff --git a/build-Calibration-Desktop-Debug/2020-04-07-12_31_31.log b/build-Calibration-Desktop-Debug/2020-04-28-16_13_14.log similarity index 100% rename from build-Calibration-Desktop-Debug/2020-04-07-12_31_31.log rename to build-Calibration-Desktop-Debug/2020-04-28-16_13_14.log diff --git a/build-Calibration-Desktop-Debug/2020-04-07-12_32_21.log b/build-Calibration-Desktop-Debug/2020-04-28-17_37_14.log similarity index 100% rename from build-Calibration-Desktop-Debug/2020-04-07-12_32_21.log rename to build-Calibration-Desktop-Debug/2020-04-28-17_37_14.log diff --git a/build-Calibration-Desktop-Debug/2020-04-07-13_52_49.log b/build-Calibration-Desktop-Debug/2020-04-28-17_39_58.log similarity index 100% rename from build-Calibration-Desktop-Debug/2020-04-07-13_52_49.log rename to build-Calibration-Desktop-Debug/2020-04-28-17_39_58.log diff --git a/build-Calibration-Desktop-Debug/Calibration b/build-Calibration-Desktop-Debug/Calibration index 26220f47cb1e03889c4466243c332c6a51868bf2..a4fafe057ad6dcd1ffef2533400e03f66c695f0f 100755 Binary files a/build-Calibration-Desktop-Debug/Calibration and b/build-Calibration-Desktop-Debug/Calibration differ diff --git a/build-Calibration-Desktop-Debug/Makefile b/build-Calibration-Desktop-Debug/Makefile index b44fc81ff20b817b2c91cfddd5dac3de97b0d01d..174a00c4df4399310f2bdd8da3296956b839b91e 100644 --- a/build-Calibration-Desktop-Debug/Makefile +++ b/build-Calibration-Desktop-Debug/Makefile @@ -113,7 +113,6 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ - ../Calibration/.qmake.stash \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ @@ -203,7 +202,6 @@ Makefile: ../Calibration/Calibration.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/l /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ - .qmake.stash \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ @@ -282,7 +280,6 @@ Makefile: ../Calibration/Calibration.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/l /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf: -.qmake.stash: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf: @@ -364,7 +361,6 @@ moc_mainwindow.cpp: ../sandbox/sandbox.h \ ../sandbox/beamer.h \ ../sandbox/calibrate.h \ ../sandbox/borderedit.h \ - ../sandbox/borderfinder.h \ ../Calibration/reactivelabel.h \ ../Calibration/mainwindow.h \ moc_predefs.h \ @@ -382,7 +378,8 @@ compiler_uic_make_all: ui_mainwindow.h compiler_uic_clean: -$(DEL_FILE) ui_mainwindow.h ui_mainwindow.h: ../Calibration/mainwindow.ui \ - /usr/lib/qt5/bin/uic + /usr/lib/qt5/bin/uic \ + ../Calibration/reactivelabel.h /usr/lib/qt5/bin/uic ../Calibration/mainwindow.ui -o ui_mainwindow.h compiler_yacc_decl_make_all: @@ -402,7 +399,6 @@ main.o: ../Calibration/main.cpp ../Calibration/mainwindow.h \ ../sandbox/beamer.h \ ../sandbox/calibrate.h \ ../sandbox/borderedit.h \ - ../sandbox/borderfinder.h \ ../Calibration/reactivelabel.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../Calibration/main.cpp @@ -413,7 +409,6 @@ mainwindow.o: ../Calibration/mainwindow.cpp ../Calibration/mainwindow.h \ ../sandbox/beamer.h \ ../sandbox/calibrate.h \ ../sandbox/borderedit.h \ - ../sandbox/borderfinder.h \ ../Calibration/reactivelabel.h \ ui_mainwindow.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o ../Calibration/mainwindow.cpp diff --git a/build-Calibration-Desktop-Debug/device b/build-Calibration-Desktop-Debug/device index b8120bf67851c45898ceaef49b0c91f4aa555395..d1f2d150cbe022e463d39e98d639cec274e06cc8 100644 --- a/build-Calibration-Desktop-Debug/device +++ b/build-Calibration-Desktop-Debug/device @@ -1 +1 @@ -840412061564 \ No newline at end of file +8404120615642598.6332600.265-0.205 \ No newline at end of file diff --git a/build-Calibration-Desktop-Debug/main.o b/build-Calibration-Desktop-Debug/main.o index c9c9beb19b2d440be548242b03c27931e0444fa8..9b1cfabb39aa6438dbaf96495ddc275f3aa25a00 100644 Binary files a/build-Calibration-Desktop-Debug/main.o and b/build-Calibration-Desktop-Debug/main.o differ diff --git a/build-Calibration-Desktop-Debug/mainwindow.o b/build-Calibration-Desktop-Debug/mainwindow.o index fcfa0f0d630a550a80a818ea74c80982b22eb678..ade5df0929bf2d64d55cdda42007697834114a82 100644 Binary files a/build-Calibration-Desktop-Debug/mainwindow.o and b/build-Calibration-Desktop-Debug/mainwindow.o differ diff --git a/build-Calibration-Desktop-Debug/moc_mainwindow.cpp b/build-Calibration-Desktop-Debug/moc_mainwindow.cpp index 5bc5ba9f7dcbfa66cbc289e23d8a78633e82a09f..bdd65a4cf3225c4d18fc258932621313dc64c4cc 100644 --- a/build-Calibration-Desktop-Debug/moc_mainwindow.cpp +++ b/build-Calibration-Desktop-Debug/moc_mainwindow.cpp @@ -21,8 +21,8 @@ QT_BEGIN_MOC_NAMESPACE QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED struct qt_meta_stringdata_MainWindow_t { - QByteArrayData data[11]; - char stringdata0[173]; + QByteArrayData data[10]; + char stringdata0[156]; }; #define QT_MOC_LITERAL(idx, ofs, len) \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ @@ -39,16 +39,14 @@ QT_MOC_LITERAL(4, 50, 16), // "QListWidgetItem*" QT_MOC_LITERAL(5, 67, 26), // "reloadListRealSenseDevices" QT_MOC_LITERAL(6, 94, 17), // "saveConfiguration" QT_MOC_LITERAL(7, 112, 9), // "configure" -QT_MOC_LITERAL(8, 122, 16), // "selectEdgeBorder" -QT_MOC_LITERAL(9, 139, 14), // "moveEdgeBorder" -QT_MOC_LITERAL(10, 154, 18) // "deselectEdgeBorder" +QT_MOC_LITERAL(8, 122, 14), // "moveEdgeBorder" +QT_MOC_LITERAL(9, 137, 18) // "deselectEdgeBorder" }, "MainWindow\0quitApplication\0\0" "selectRealSenseDevice\0QListWidgetItem*\0" "reloadListRealSenseDevices\0saveConfiguration\0" - "configure\0selectEdgeBorder\0moveEdgeBorder\0" - "deselectEdgeBorder" + "configure\0moveEdgeBorder\0deselectEdgeBorder" }; #undef QT_MOC_LITERAL @@ -58,7 +56,7 @@ static const uint qt_meta_data_MainWindow[] = { 7, // revision 0, // classname 0, 0, // classinfo - 8, 14, // methods + 7, 14, // methods 0, 0, // properties 0, 0, // enums/sets 0, 0, // constructors @@ -66,14 +64,13 @@ static const uint qt_meta_data_MainWindow[] = { 0, // signalCount // slots: name, argc, parameters, tag, flags - 1, 0, 54, 2, 0x08 /* Private */, - 3, 1, 55, 2, 0x08 /* Private */, - 5, 0, 58, 2, 0x08 /* Private */, - 6, 0, 59, 2, 0x08 /* Private */, - 7, 0, 60, 2, 0x08 /* Private */, - 8, 0, 61, 2, 0x08 /* Private */, - 9, 0, 62, 2, 0x08 /* Private */, - 10, 0, 63, 2, 0x08 /* Private */, + 1, 0, 49, 2, 0x08 /* Private */, + 3, 1, 50, 2, 0x08 /* Private */, + 5, 0, 53, 2, 0x08 /* Private */, + 6, 0, 54, 2, 0x08 /* Private */, + 7, 0, 55, 2, 0x08 /* Private */, + 8, 0, 56, 2, 0x08 /* Private */, + 9, 0, 57, 2, 0x08 /* Private */, // slots: parameters QMetaType::Void, @@ -82,7 +79,6 @@ static const uint qt_meta_data_MainWindow[] = { QMetaType::Void, QMetaType::Void, QMetaType::Void, - QMetaType::Void, QMetaType::Void, 0 // eod @@ -99,9 +95,8 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, case 2: _t->reloadListRealSenseDevices(); break; case 3: _t->saveConfiguration(); break; case 4: _t->configure(); break; - case 5: _t->selectEdgeBorder(); break; - case 6: _t->moveEdgeBorder(); break; - case 7: _t->deselectEdgeBorder(); break; + case 5: _t->moveEdgeBorder(); break; + case 6: _t->deselectEdgeBorder(); break; default: ; } } @@ -132,13 +127,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 8) + if (_id < 7) qt_static_metacall(this, _c, _id, _a); - _id -= 8; + _id -= 7; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 8) + if (_id < 7) *reinterpret_cast<int*>(_a[0]) = -1; - _id -= 8; + _id -= 7; } return _id; } diff --git a/build-Calibration-Desktop-Debug/moc_mainwindow.o b/build-Calibration-Desktop-Debug/moc_mainwindow.o index 706b7a4ab0e921d8eb286569e5a2b13a3e3c45a0..9d5cf281077b3fa1dd7650c40573158777baadaf 100644 Binary files a/build-Calibration-Desktop-Debug/moc_mainwindow.o and b/build-Calibration-Desktop-Debug/moc_mainwindow.o differ diff --git a/build-Calibration-Desktop-Debug/ui_mainwindow.h b/build-Calibration-Desktop-Debug/ui_mainwindow.h index 968784cc6975eb8f622c8735c0b53a0f8885b471..e49e929d4500fab7c2985e302a754273a7c28c39 100644 --- a/build-Calibration-Desktop-Debug/ui_mainwindow.h +++ b/build-Calibration-Desktop-Debug/ui_mainwindow.h @@ -25,7 +25,7 @@ #include <QtWidgets/QStatusBar> #include <QtWidgets/QVBoxLayout> #include <QtWidgets/QWidget> -#include <reactivelabel.h> +#include "reactivelabel.h" QT_BEGIN_NAMESPACE @@ -62,7 +62,7 @@ public: if (MainWindow->objectName().isEmpty()) MainWindow->setObjectName(QStringLiteral("MainWindow")); MainWindow->setWindowModality(Qt::WindowModal); - MainWindow->resize(1920, 445); + MainWindow->resize(1920, 800); centralwidget = new QWidget(MainWindow); centralwidget->setObjectName(QStringLiteral("centralwidget")); verticalLayoutWidget = new QWidget(centralwidget); @@ -182,7 +182,7 @@ public: MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", Q_NULLPTR)); lblDevices->setText(QApplication::translate("MainWindow", "list of Intel RealSense Cameras", Q_NULLPTR)); btnReload->setText(QApplication::translate("MainWindow", "Reload", Q_NULLPTR)); - lblImage->setText(QString()); + lblImage->setProperty("text", QVariant(QString())); lblConsole->setText(QApplication::translate("MainWindow", "Console", Q_NULLPTR)); btnConfig->setText(QApplication::translate("MainWindow", "Configure", Q_NULLPTR)); btnSave->setText(QApplication::translate("MainWindow", "Save Configuration", Q_NULLPTR)); diff --git a/build-sandbox-Desktop-Debug/Makefile b/build-sandbox-Desktop-Debug/Makefile index ea286a10f0b09cdc19ed5b05d572339ce7c258be..7ba8be361b43c2ef12b15649fd82aa2c5e3864f1 100644 --- a/build-sandbox-Desktop-Debug/Makefile +++ b/build-sandbox-Desktop-Debug/Makefile @@ -51,14 +51,12 @@ SOURCES = ../sandbox/beamer.cpp \ ../sandbox/calibrate.cpp \ ../sandbox/camera.cpp \ ../sandbox/sandbox.cpp \ - ../sandbox/borderedit.cpp \ - ../sandbox/borderfinder.cpp + ../sandbox/borderedit.cpp OBJECTS = beamer.o \ calibrate.o \ camera.o \ sandbox.o \ - borderedit.o \ - borderfinder.o + borderedit.o DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ @@ -137,13 +135,11 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ ../sandbox/camera.h \ ../sandbox/sandbox.h \ ../sandbox/serializable.h \ - ../sandbox/borderedit.h \ - ../sandbox/borderfinder.h ../sandbox/beamer.cpp \ + ../sandbox/borderedit.h ../sandbox/beamer.cpp \ ../sandbox/calibrate.cpp \ ../sandbox/camera.cpp \ ../sandbox/sandbox.cpp \ - ../sandbox/borderedit.cpp \ - ../sandbox/borderfinder.cpp + ../sandbox/borderedit.cpp QMAKE_TARGET = sandbox DESTDIR = TARGET = libsandbox.a @@ -329,8 +325,8 @@ distdir: FORCE @test -d $(DISTDIR) || mkdir -p $(DISTDIR) $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/ - $(COPY_FILE) --parents ../sandbox/beamer.h ../sandbox/calibrate.h ../sandbox/camera.h ../sandbox/sandbox.h ../sandbox/serializable.h ../sandbox/borderedit.h ../sandbox/borderfinder.h $(DISTDIR)/ - $(COPY_FILE) --parents ../sandbox/beamer.cpp ../sandbox/calibrate.cpp ../sandbox/camera.cpp ../sandbox/sandbox.cpp ../sandbox/borderedit.cpp ../sandbox/borderfinder.cpp $(DISTDIR)/ + $(COPY_FILE) --parents ../sandbox/beamer.h ../sandbox/calibrate.h ../sandbox/camera.h ../sandbox/sandbox.h ../sandbox/serializable.h ../sandbox/borderedit.h $(DISTDIR)/ + $(COPY_FILE) --parents ../sandbox/beamer.cpp ../sandbox/calibrate.cpp ../sandbox/camera.cpp ../sandbox/sandbox.cpp ../sandbox/borderedit.cpp $(DISTDIR)/ clean: compiler_clean @@ -395,16 +391,12 @@ sandbox.o: ../sandbox/sandbox.cpp ../sandbox/sandbox.h \ ../sandbox/camera.h \ ../sandbox/beamer.h \ ../sandbox/calibrate.h \ - ../sandbox/borderedit.h \ - ../sandbox/borderfinder.h + ../sandbox/borderedit.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sandbox.o ../sandbox/sandbox.cpp borderedit.o: ../sandbox/borderedit.cpp ../sandbox/borderedit.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o borderedit.o ../sandbox/borderedit.cpp -borderfinder.o: ../sandbox/borderfinder.cpp ../sandbox/borderfinder.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o borderfinder.o ../sandbox/borderfinder.cpp - ####### Install install_target: first FORCE diff --git a/build-sandbox-Desktop-Debug/beamer.o b/build-sandbox-Desktop-Debug/beamer.o index 94fd78a994f37d51ef224d1851db7c561f4bda1c..b8eab859e95e6d8e1740bcde2ae208e420f339ca 100644 Binary files a/build-sandbox-Desktop-Debug/beamer.o and b/build-sandbox-Desktop-Debug/beamer.o differ diff --git a/build-sandbox-Desktop-Debug/borderedit.o b/build-sandbox-Desktop-Debug/borderedit.o index 43c4ff8ad936fed272a813b3fcdf35aeb043d68a..ce174f6b631b14ad37e4e4b64edc10f93b40a9cb 100644 Binary files a/build-sandbox-Desktop-Debug/borderedit.o and b/build-sandbox-Desktop-Debug/borderedit.o differ diff --git a/build-sandbox-Desktop-Debug/borderfinder.o b/build-sandbox-Desktop-Debug/borderfinder.o deleted file mode 100644 index 60183584e89e3ab1631648a01b33c2d3212cc213..0000000000000000000000000000000000000000 Binary files a/build-sandbox-Desktop-Debug/borderfinder.o and /dev/null differ diff --git a/build-sandbox-Desktop-Debug/calibrate.o b/build-sandbox-Desktop-Debug/calibrate.o index 53249fa3d94d78800df8aed65bd4ad65d2c2d713..8e683ae507b0caa4cea9e4902cfb48f3c9b568fd 100644 Binary files a/build-sandbox-Desktop-Debug/calibrate.o and b/build-sandbox-Desktop-Debug/calibrate.o differ diff --git a/build-sandbox-Desktop-Debug/camera.o b/build-sandbox-Desktop-Debug/camera.o index 4e1816186f47aae4ffe4dcd6f102018dc7dd58bf..53f583f1e29d4ffc8c75d5f04403adc5f4983a2d 100644 Binary files a/build-sandbox-Desktop-Debug/camera.o and b/build-sandbox-Desktop-Debug/camera.o differ diff --git a/build-sandbox-Desktop-Debug/libsandbox.a b/build-sandbox-Desktop-Debug/libsandbox.a index 531b3d3ef45842ae3d70ae21787d7e336557da67..459fdda59d720e12d6807bccb8db03b124961b7c 100644 Binary files a/build-sandbox-Desktop-Debug/libsandbox.a and b/build-sandbox-Desktop-Debug/libsandbox.a differ diff --git a/build-sandbox-Desktop-Debug/sandbox.o b/build-sandbox-Desktop-Debug/sandbox.o index d14490bb1d7c9cc12d38889297c665320af9e583..e72752be32480b5dab14b36d73d42d1d472f38b1 100644 Binary files a/build-sandbox-Desktop-Debug/sandbox.o and b/build-sandbox-Desktop-Debug/sandbox.o differ diff --git a/sandbox/beamer.cpp b/sandbox/beamer.cpp index 72d35aee1fefa1a03a1f4569ff9bf994ab41fc24..49468b5638e512601cbb052a835dcc38423ac1c8 100644 --- a/sandbox/beamer.cpp +++ b/sandbox/beamer.cpp @@ -67,6 +67,13 @@ int LineLineIntersect( Beamer::Beamer(){ //position par défaut beamerPosition = Point3f(0.0f, 0.265f, -0.205f); + points.push_back(Point(500, 500)); + points.push_back(Point(1000, 300)); + points.push_back(Point(300, 800)); + +} + +Beamer::~Beamer(){ } @@ -94,67 +101,44 @@ vector<int> Beamer::findCercleZ(Mat &rgb) return result; } -void Beamer::findBeamer(Camera camera) -{ - char wname[] = "FindBeamer"; - namedWindow(wname, CV_WINDOW_NORMAL); - setWindowProperty(wname, CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN); - Mat depth; +tuple<Mat, vector<int>> Beamer::findPoint(Camera camera, int i) { Mat rgb; - Mat frameImage(Size(1400, 1050), CV_8UC3, Scalar(0, 0, 0)); - vector<Point> points; - points.push_back(Point(500, 500)); - points.push_back(Point(1000, 300)); - points.push_back(Point(300, 800)); - unsigned int nbPoint = 3; //number of point to calculate 1 vector + + + Point p = points[i]; + camera.captureFramesAlign(); + rgb = camera.getRGBFrameAlign(); + Scalar color; + vector<int> crc = findCercleZ(rgb); + if (!crc.empty()) + color = Scalar(0, 255, 0); + else + color = Scalar(0, 0, 255); + + line(rgb, Point(p.x, 0), Point(p.x, rgb.rows - 1), color, 4); + line(rgb, Point(0, p.y), Point(rgb.cols - 1, p.y), color, 4); + + return make_tuple(rgb, crc); +} + +void Beamer::capturePoint(Camera camera, vector<int> crc) { + Mat depth; + camera.captureFramesAlign(); + depth = camera.getDepthFrameAlign(); + float coord[2] = {(float)crc[0], (float)crc[1]}; + float z = static_cast<float>(depth.at<uint16_t>(crc[1], crc[0])); + Point3f p = camera.deprojectPixelToPoint(coord, z / 1000.0); + capturedPoints.push_back(p); +} + +void Beamer::findBeamerPosition() { vector<Point3d> points1; //vectors calculate for each point vector<Point3d> points2; //1 point for each vector (to calculate constante d) double fact = -20.0; - - for (int i = 0; i < (int)points.size(); i++) - { - vector<Point3f> capturedPoints; - Point p = points[i]; - while (1) - { - camera.captureFramesAlign(); - depth = camera.getDepthFrameAlign(); - rgb = camera.getRGBFrameAlign(); - Scalar color; - vector<int> crc = findCercleZ(rgb); - if (!crc.empty()) - color = Scalar(0, 255, 0); - else - color = Scalar(0, 0, 255); - - line(frameImage, Point(p.x, 0), Point(p.x, frameImage.rows - 1), color, 4); - line(frameImage, Point(0, p.y), Point(frameImage.cols - 1, p.y), color, 4); - putText(frameImage, to_string(capturedPoints.size() + 1) + "/" + to_string(nbPoint), Point(400, 400), FONT_HERSHEY_SIMPLEX, 1, Scalar(255, 255, 255)); - imshow(wname, frameImage); - char keyCode = waitKey(500); - if (keyCode == ESCAPE_CHAR) - exit(0); - else if (keyCode == ' ' && !crc.empty()) - { - float coord[2] = {(float)crc[0], (float)crc[1]}; - float z = static_cast<float>(depth.at<uint16_t>(crc[1], crc[0])); - Point3f p = camera.deprojectPixelToPoint(coord, z / 1000.0); - capturedPoints.push_back(p); - } - - if (capturedPoints.size() == nbPoint) - { - Vec3f dir(capturedPoints[0].x - capturedPoints[1].x, capturedPoints[0].y - capturedPoints[1].y, capturedPoints[0].z - capturedPoints[1].z); - Vec6f line; - fitLine(capturedPoints, line, CV_DIST_L2, 0, 0.01, 0.01); - points1.push_back(Point3d(line[3] * fact, line[4] * fact, line[5] * fact)); - points2.push_back(Point3d(line[0], line[1], line[2])); - frameImage.setTo(Scalar(0, 0, 0)); - break; - } - frameImage.setTo(Scalar(0, 0, 0)); - } - } + Vec6f line; + fitLine(capturedPoints, line, CV_DIST_L2, 0, 0.01, 0.01); + points1.push_back(Point3d(line[3] * fact, line[4] * fact, line[5] * fact)); + points2.push_back(Point3d(line[0], line[1], line[2])); Point3d pa, pb; double mua; @@ -176,23 +160,8 @@ void Beamer::findBeamer(Camera camera) beamerPoint += beamerPoints[i]; } beamerPoint /= 6.0; - cout << "Beamer position: " << beamerPoint.x << " " << beamerPoint.y << " " << beamerPoint.z << "\n"; //set beamer position beamerPosition.x = (float)beamerPoint.x; beamerPosition.y = (float)beamerPoint.y; beamerPosition.z = (float)beamerPoint.z; - - /* - - TODO : save beamerPosition in config_file - - */ - cout << "Saving beamer position in file..." << endl; - ofstream myfile; - myfile.open(BEAMER_POSITION_FILE); - myfile << beamerPosition.x << " " << beamerPosition.y << " " << beamerPosition.z << endl; - myfile.close(); - cout << "Done!" << endl; - - destroyAllWindows(); } diff --git a/sandbox/beamer.h b/sandbox/beamer.h index df21b8ed360763c2850cf85568d313c594ca04f3..adabf109992fc1068fc02a8fc836efbf95fc4d87 100644 --- a/sandbox/beamer.h +++ b/sandbox/beamer.h @@ -9,20 +9,29 @@ using namespace std; class Beamer { - - const char *BEAMER_POSITION_FILE = "./backend/config/beamer.dat"; +private: float solveD(Vec3f v, Point3f p); Point3f intersection(Vec3f v1, Point3f p1, Vec3f v2, Point3f p2, Vec3f v3, Point3f p3, bool &isFound); vector<int> findCercleZ(Mat &rgb); Point3f beamerPosition; + vector<Point> points; + vector<Point3f> capturedPoints; + public: Beamer(); + ~Beamer(); static const int width = 1400; static const int height = 1050; Point3f getPosition() { return beamerPosition; - }; + } + void setPosition(Point3f position) { + beamerPosition = position; + } void findBeamer(Camera camera); + tuple<Mat, vector<int>> findPoint(Camera camera, int i); + void capturePoint(Camera camera, vector<int> crc); + void findBeamerPosition(); }; #endif diff --git a/sandbox/borderedit.cpp b/sandbox/borderedit.cpp index c4f5363309a87387e16888a47000ea5b62c5abb6..80244685f6158bb03bbb6b43667e8bf9491e0c2c 100644 --- a/sandbox/borderedit.cpp +++ b/sandbox/borderedit.cpp @@ -1,17 +1,33 @@ #include <algorithm> #include "borderedit.h" +/*! + * \brief BorderEdit::frameImage + * The original frame without border + */ Mat BorderEdit::frameImage; -Mat BorderEdit::drawSquare(Point *p, int n) +/*! + * \brief BorderEdit::drawBorder + * \param p first point of the border + * \param n the number of points of the border + * \return the colored frame with the border + */ +Mat BorderEdit::drawBorder(Point *p, int n) { Mat imageCopy = frameImage.clone(); polylines(imageCopy, &p, &n, 1, true, Scalar(0, 255, 0), 1, LINE_AA); - //imshow(wndname, imageCopy); return imageCopy; } +/*! + * \brief BorderEdit::findPoints + * \param x position of the mouse + * \param y position of the mouse + * \param posSandbox list of points of the border + * \return the index of the selected border + */ int BorderEdit::findPoints(int x, int y, vector<Point> *posSandbox) { for (int i = 0; i < (int)posSandbox->size(); i++) @@ -23,15 +39,31 @@ int BorderEdit::findPoints(int x, int y, vector<Point> *posSandbox) return -1; //not found } +/*! + * \brief BorderEdit::edit + * \param selectedPoint of the border + * \param x position of the mouse + * \param y position of the mouse + * \param posSandbox list of points of the border + * \return the colored frame with the border + * Set the position of the mouse to the selected edge of the border + */ Mat BorderEdit::edit(int selectedPoint, int x, int y, vector<Point> *posSandbox) { posSandbox->at(selectedPoint).x = x; posSandbox->at(selectedPoint).y = y; - return BorderEdit::drawSquare(&posSandbox->at(0), (int)posSandbox->size()); + return BorderEdit::drawBorder(&posSandbox->at(0), (int)posSandbox->size()); } +/*! + * \brief BorderEdit::initBorder + * \param frame Original colored frame + * \param posSandbox list of points of the border + * \return the colored frame with the border + * Store the original frame and draw the border + */ Mat BorderEdit::initBorder(Mat frame, vector<Point> *posSandbox) { frame.copyTo(frameImage); - return BorderEdit::drawSquare(&posSandbox->at(0), (int)posSandbox->size()); + return BorderEdit::drawBorder(&posSandbox->at(0), (int)posSandbox->size()); } diff --git a/sandbox/borderedit.h b/sandbox/borderedit.h index a90a409790f8f0147a15dbd45434b1d83258f8d2..1d2120e08f343f74b2dd9ceef00f1f93236a1b30 100644 --- a/sandbox/borderedit.h +++ b/sandbox/borderedit.h @@ -7,14 +7,18 @@ using namespace cv; using namespace std; +/*! + * \brief The BorderEdit class + * Use the colored frame of the Intel RealSense + * Apply a border inside and move to correspond + * of the projected image of the beamer + */ class BorderEdit { private: static const int margeClick = 10; - static constexpr char *wndname = (char *)"Sandbox Border Finder"; static Mat frameImage; - // OPENCV - MANUEL RECT CHANGE - static Mat drawSquare(cv::Point *p, int n); + static Mat drawBorder(cv::Point *p, int n); public: static Mat initBorder(Mat frame, vector<Point> *posSandbox); diff --git a/sandbox/borderfinder.cpp b/sandbox/borderfinder.cpp deleted file mode 100644 index 3584032815e13fc4a7daed448086d8bf4aca048d..0000000000000000000000000000000000000000 --- a/sandbox/borderfinder.cpp +++ /dev/null @@ -1,92 +0,0 @@ -#include <algorithm> -#include "borderfinder.h" - -double BorderFinder::angle(Point pt1, Point pt2, Point pt0) -{ - double dx1 = pt1.x - pt0.x; - double dy1 = pt1.y - pt0.y; - double dx2 = pt2.x - pt0.x; - double dy2 = pt2.y - pt0.y; - return (dx1 * dx2 + dy1 * dy2) / sqrt((dx1 * dx1 + dy1 * dy1) * (dx2 * dx2 + dy2 * dy2) + 1e-10); -} - -// returns sequence of squares detected on the image. -bool BorderFinder::find(Rect &rect) -{ - vector<vector<Point>> rectDetect; - - Mat pyr, timg, gray0(frameImage.size(), CV_8U); - - // down-scale and upscale the image to filter out the noise - pyrDown(frameImage, pyr, Size(frameImage.cols / 2, frameImage.rows / 2)); - pyrUp(pyr, timg, frameImage.size()); - vector<vector<Point>> contours; - int c = 1; - int ch[] = {c, 0}; - mixChannels(&timg, 1, &gray0, 1, ch, 1); - gray0 = gray0 > 10; - waitKey(0); - findContours(gray0, contours, RETR_LIST, CHAIN_APPROX_SIMPLE); - vector<Point> approx; - // test each contour - cout << "nb rect: " << contours.size() << endl; - for (size_t i = 0; i < contours.size(); i++) - { - // approximate contour with accuracy proportional - // to the contour perimeter - approxPolyDP(contours[i], approx, arcLength(contours[i], true) * 0.02, true); - if (approx.size() == 4 && - fabs(contourArea(approx)) > 1000 && - isContourConvex(approx)) - { - double maxCosine = 0; - - for (int j = 2; j < 5; j++) - { - // find the maximum cosine of the angle between joint edges - double cosine = fabs(angle(approx[j % 4], approx[j - 2], approx[j - 1])); - maxCosine = MAX(maxCosine, cosine); - } - - // if cosines of all angles are small - // (all angles are ~90 degree) then write quandrange - // vertices to resultant sequence - // if (maxCosine < 0.3) - // { - rect = rotateRect(boundingRect(approx), 90, 90); - const Point *p = &approx[0]; - int n = (int)approx.size(); - polylines(frameImage, &p, &n, 1, true, Scalar(0, 0, 255), 3, LINE_AA); - //return true; - //} - } - } - //imshow("ff", frameImage); - //waitKey(0); - return true; -} - -Rect BorderFinder::rotateRect(Rect rect, int heightPercentage, int widthPercetange) -{ - int rwidth = rect.width; - int rheight = rect.height; - - rect.width = round((rect.width * widthPercetange) / 100.0f); - rect.height = round((rect.height * heightPercentage) / 100.0f); - rect.x += (rwidth - rect.width) / 2; - rect.y += (rheight - rect.height) / 2; - - return rect; -} - -float BorderFinder::calculDistance(float point1[], float point2[]) -{ - return sqrt(pow(point1[0] - point2[0], 2) + - pow(point1[1] - point2[1], 2) + - pow(point1[2] - point2[2], 2)); -} - -BorderFinder::BorderFinder(Mat frame) -{ - frame.copyTo(frameImage); -} diff --git a/sandbox/borderfinder.h b/sandbox/borderfinder.h deleted file mode 100644 index e43b39ffee365065ac8c41a21dbb7f6dba9ac9ba..0000000000000000000000000000000000000000 --- a/sandbox/borderfinder.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef BORDERFINDER_H -#define BORDERFINDER_H -#include <opencv2/opencv.hpp> - -using namespace cv; -using namespace std; - -class BorderFinder -{ -private: - // helper function: - // finds a cosine of angle between vectors - // from pt0->pt1 and from pt0->pt2 - double angle(Point pt1, Point pt2, Point pt0); - Mat frameImage; - Rect rotateRect(Rect rect, int heightPercentage, int widthPercetange); - -public: - float calculDistance(float point1[], float point2[]); - BorderFinder(Mat frame); - bool find(Rect &rect); -}; -#endif diff --git a/sandbox/calibrate.h b/sandbox/calibrate.h index 2c908ce7b2c60e570a9f9d50db86fe2094bb1706..2581b5b8b339afbbdd52907d788c8bf40eff7de0 100644 --- a/sandbox/calibrate.h +++ b/sandbox/calibrate.h @@ -9,7 +9,6 @@ using namespace cv; class Calibrate { private: - const char *wndname = (char *)"Sandbox"; Mat matRotation; float distancePlan; @@ -19,10 +18,18 @@ public: Point2i rotatePixel(Point2i pixel); void transformationFrame(Mat &src, Mat &dst, Camera camera, Point3f beamer); void transformationFrame(Mat &depth, Mat &src, Mat &dst, Camera camera, Point3f beamer); + Mat getMatrixRotation() + { + return matRotation; + } void setMatrixRotation(Mat matrix) { matRotation = matrix.clone(); } + float getDistancePlan() + { + return distancePlan; + } void setDistancePlan(float distance) { distancePlan = distance; diff --git a/sandbox/camera.cpp b/sandbox/camera.cpp index fb8fd539c1b9ac7e271bc160b1d095adc897e0c9..a4e241eecdf67b99a3b2eadf35a245d766592df2 100644 --- a/sandbox/camera.cpp +++ b/sandbox/camera.cpp @@ -2,6 +2,10 @@ Camera::Camera() {} +Camera::~Camera() { + +} + // Capture 30 frames to give autoexposure, etc. a chance to settle void Camera::warmingUp() { diff --git a/sandbox/camera.h b/sandbox/camera.h index 577d3b1522ce02492ea076053cbef63fb6783ce2..9c871f9178bedf94ae0fcd2fcb370c5b0295d7b2 100644 --- a/sandbox/camera.h +++ b/sandbox/camera.h @@ -33,6 +33,7 @@ private: public: Camera(); + ~Camera(); void start(); void stop(); // Capture 30 frames to give autoexposure, etc. a chance to settle diff --git a/sandbox/sandbox.cpp b/sandbox/sandbox.cpp index 37f273701fcca7bd77c9afbc21252a9a548b2850..b4372cd591469567c6ec995184b60afb28c6e779 100644 --- a/sandbox/sandbox.cpp +++ b/sandbox/sandbox.cpp @@ -12,6 +12,11 @@ Sandbox::Sandbox() } } +Sandbox::~Sandbox() +{ + delete realSenseDeviceSerialNumber; +} + /*! * \brief Sandbox::getListRealSenseDevices * \return list of Intel RealSense devices @@ -58,6 +63,15 @@ void Sandbox::serialize(ostream& stream) { // Serialize ID for the Intel RealSense Camera stream << realSenseDevice.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER); + + // Serialize calibrate + stream << calibrate.getDistancePlan(); + Mat matRotation = calibrate.getMatrixRotation(); + stream << matRotation.cols << matRotation.rows << matRotation.type(); + + // Serialize beamer + stream << beamer.getPosition().x << beamer.getPosition().y << beamer.getPosition().z; + } /*! @@ -79,9 +93,31 @@ string Sandbox::deserialize(istream& stream) } } + // Serialize calibrate + int cols, rows, type; + stream >> type >> rows >> cols; + Mat matRotation(cols, rows, type); + calibrate.setMatrixRotation(matRotation); + + float distancePlan; + stream >> distancePlan; + calibrate.setDistancePlan(distancePlan); + + // Serialize beamer + int x, y, z; + stream >> z >> y >> x; + Point3f beamPosition(x, y, z); + beamer.setPosition(beamPosition); + return "Problem to load"; } +/*! + * \brief Sandbox::generateBorder + * \return the colored frame with a rectangle to place the border + * Set a rectangle used to define the border of the image of the beamer + * inside the colored frame of the Intel RealSense Camera to generate the deformation matrix for the beamer + */ Mat Sandbox::generateBorder() { // Start the Intel RealSense Camera camera.startAlign(); // 1 seconde of warming up @@ -96,42 +132,79 @@ Mat Sandbox::generateBorder() { center.y = s.height / 2; float distancePlan = static_cast<float>(mean(frameData(Rect(center, Size(10, 10))))[0]); // get sandbox distance from center of camera calibrate.setDistancePlan(distancePlan); - //destroyAllWindows(); - + // original rectangle to draw to define the deformation matrix float y = coloredFrame.size().height; float x = coloredFrame.size().width; - rectPoints.push_back(Point(1.0/4*x, 1.0/4*y)); - rectPoints.push_back(Point(1.0/4*x, 3.0/4*y)); - rectPoints.push_back(Point(3.0/4*x, 3.0/4*y)); - rectPoints.push_back(Point(3.0/4*x, 1.0/4*y)); + border.push_back(Point(1.0/4*x, 1.0/4*y)); + border.push_back(Point(1.0/4*x, 3.0/4*y)); + border.push_back(Point(3.0/4*x, 3.0/4*y)); + border.push_back(Point(3.0/4*x, 1.0/4*y)); - coloredFrame = BorderEdit::initBorder(coloredFrame, &rectPoints); // edit projected frame + coloredFrame = BorderEdit::initBorder(coloredFrame, &border); // edit projected frame return coloredFrame; } +/*! + * \brief Sandbox::toDegrees + * \param radians + * \return degrees + */ +double Sandbox::toDegrees(double radians) +{ + return radians * (180.0 / M_PI); +} + +/*! + * \brief Sandbox::findEdgeBorder + * \param x position of the mouse + * \param y position of the mouse + * \return index of edge of border to move + */ +int Sandbox::findEdgeBorder(int x, int y) { + return BorderEdit::findPoints(x, y, &border); +} + +/*! + * \brief Sandbox::editEdgeBorder + * \param selectedPoint selected edge of border + * \param x position of the mouse + * \param y position of the mouse + * \return the frame updated with the new border + */ +Mat Sandbox::editEdgeBorder(int selectedPoint, int x, int y) { + return BorderEdit::edit(selectedPoint, x, y, &border); +} + +/*! + * \brief Sandbox::applyBorder + * Generate the deformation matrix with the border + */ void Sandbox::applyBorder() { - // adjust model matrixe to forme a rectangle in sandbox - int widthTop = rectPoints[3].x - rectPoints[0].x; - double angle1 = atan((double)(rectPoints[3].y - rectPoints[0].y) / widthTop); + // adjust model matrix to forme a rectangle in sandbox + int widthTop = border[3].x - border[0].x; + double angle1 = atan((double)(border[3].y - border[0].y) / widthTop); Mat matRotation = getRotationMatrix2D(center, toDegrees(angle1), 1); calibrate.setMatrixRotation(matRotation); Size rectSize = Size(widthTop, cvRound(widthTop / 1.33333) + 5); - Point p = calibrate.rotatePixel(rectPoints[0]); + Point p = calibrate.rotatePixel(border[0]); rectSandbox = Rect(p, rectSize); } -double Sandbox::toDegrees(double radians) -{ - return radians * (180.0 / M_PI); +tuple<Mat, vector<int>> Sandbox::detectPointToDetectBeamer(int indexPoint) { + return beamer.findPoint(camera, indexPoint); } -int Sandbox::findEdgeBorder(int x, int y) { - return BorderEdit::findPoints(x, y, &rectPoints); +void Sandbox::capturePointToDetectBeamer(vector<int> crc) { + beamer.capturePoint(camera, crc); } -Mat Sandbox::editEdgeBorder(int selectedPoint, int x, int y) { - return BorderEdit::edit(selectedPoint, x, y, &rectPoints); +void Sandbox::findBeamerPosition() { + beamer.findBeamerPosition(); +} + +void Sandbox::stopCamera() { + camera.stop(); } diff --git a/sandbox/sandbox.h b/sandbox/sandbox.h index 901021bf4931b10085b8e8fd863f62a8936ca7d1..844d093799fde3b764aae7d787ffefd9e427a3f1 100644 --- a/sandbox/sandbox.h +++ b/sandbox/sandbox.h @@ -13,7 +13,6 @@ #include "beamer.h" #include "calibrate.h" #include "borderedit.h" -#include "borderfinder.h" #include <QPixmap> #include <QLabel> #include <QImage> @@ -23,7 +22,6 @@ using namespace std; class Sandbox : Serializable { -public: private: context ctx; device_list listRealSenseDevices; @@ -32,11 +30,13 @@ private: Camera camera; Calibrate calibrate; Rect rectSandbox; - vector<Point> rectPoints; + vector<Point> border; Point center; + Beamer beamer; public: Sandbox(); + ~Sandbox(); device_list getListRealSenseDevices(); void setRealSenseDevices(device device); device getRealSenseDevice(); @@ -50,6 +50,10 @@ public: Mat generateBorder(); int findEdgeBorder(int x, int y); Mat editEdgeBorder(int selectedPoint, int x, int y); + tuple<Mat, vector<int>> detectPointToDetectBeamer(int indexPoint); + void capturePointToDetectBeamer(vector<int> crc); + void findBeamerPosition(); + void stopCamera(); }; #endif // SANDBOX_H diff --git a/sandbox/sandbox.pro b/sandbox/sandbox.pro index f6002099499060b0cc098a2f7c827108ba65fde8..2e4f76fdd6499365589d9853d2ea8053b01e768a 100644 --- a/sandbox/sandbox.pro +++ b/sandbox/sandbox.pro @@ -21,8 +21,7 @@ SOURCES += \ calibrate.cpp \ camera.cpp \ sandbox.cpp \ - borderedit.cpp \ - borderfinder.cpp + borderedit.cpp HEADERS += \ beamer.h \ @@ -30,8 +29,7 @@ HEADERS += \ camera.h \ sandbox.h \ serializable.h \ - borderedit.h \ - borderfinder.h + borderedit.h # Default rules for deployment. unix {