#ifndef ADDOBJECTDIALOG_H_ #define ADDOBJECTDIALOG_H_ #include #include #include #include class Ui_addObjectDialog; class ObjWidget; class Camera; class KeypointItem; class AddObjectDialog : public QDialog { Q_OBJECT public: AddObjectDialog(QList * objects, QWidget * parent = 0, Qt::WindowFlags f = 0); virtual ~AddObjectDialog(); private slots: void update(); void next(); void back(); void cancel(); void takePicture(); void updateNextButton(); protected: virtual void closeEvent(QCloseEvent* event); private: void setState(int state); CvRect computeROI(const std::vector & kpts); private: Ui_addObjectDialog * ui_; Camera * camera_; QTimer cameraTimer_; QList * objects_; IplImage * cvImage_; enum State{kTakePicture, kSelectFeatures, kVerifySelection, kClosing}; int state_; }; #endif /* ADDOBJECTDIALOG_H_ */