From 03341c215d78bebf0c39c6ef8dab59c43b5cc615 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Wed, 4 Jan 2012 21:08:42 +0000 Subject: [PATCH] Updated signal objectsFound() to send the object rect and full homography git-svn-id: http://find-object.googlecode.com/svn/trunk/find_object@62 620bd6b2-0a58-f614-fd9a-1bd335dccda9 --- src/MainWindow.cpp | 14 ++++++++------ src/MainWindow.h | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 231262d2..9ad0ae56 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -400,7 +400,7 @@ void MainWindow::update(const cv::Mat & image) std::vector mpts_1, mpts_2; std::vector indexes_1, indexes_2; std::vector outlier_mask; - QMap objectsPos; + QMap > objectsDetected; float minMatchedDistance = -1.0f; float maxMatchedDistance = -1.0f; for(int i=0; iimage().rect(); - QPoint pos(rect.width()/2, rect.height()/2); - objectsPos.insert(objects_.at(j)->id(), hTransform.map(pos)); - + objectsDetected.insert(objects_.at(j)->id(), QPair(rect, hTransform)); + // Example getting the center of the object in the scene using the homography + //QPoint pos(rect.width()/2, rect.height()/2); + //hTransform.map(pos) + // add rectangle if(this->isVisible()) { @@ -535,9 +537,9 @@ void MainWindow::update(const cv::Mat & image) ui_->label_minMatchedDistance->setNum(minMatchedDistance); ui_->label_maxMatchedDistance->setNum(maxMatchedDistance); - if(objectsPos.size()) + if(objectsDetected.size()) { - emit objectsFound(objectsPos); + emit objectsFound(objectsDetected); } } else if(this->isVisible()) diff --git a/src/MainWindow.h b/src/MainWindow.h index 1ff17f29..4f2a3c20 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -49,7 +49,7 @@ private slots: void update(const cv::Mat & image); signals: - void objectsFound(const QMap &); + void objectsFound(const QMap > &); private: void showObject(ObjWidget * obj);