#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(Camera * camera, QList * objects, QWidget * parent = 0, Qt::WindowFlags f = 0); virtual ~AddObjectDialog(); private slots: void update(const cv::Mat &); 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_; QList * objects_; IplImage * cvImage_; enum State{kTakePicture, kSelectFeatures, kVerifySelection, kClosing}; int state_; }; #endif /* ADDOBJECTDIALOG_H_ */