qcam_calib
QCamCalib.hpp
Go to the documentation of this file.
1 #ifndef QCAMCALIB_HPP
2 #define QCAMCALIB_HPP
3 
4 #include <QtGui>
5 #include <QFuture>
6 #include <QFutureWatcher>
7 
8 namespace qcam_calib
9 {
10  class CameraItem;
11  class ImageItem;
12  class ImageView;
13 }
14 
15 
25 class QCamCalib : public QWidget
26 {
27  Q_OBJECT
28 public:
29  QCamCalib(QWidget *parent = 0);
30  virtual ~QCamCalib();
31 
32 public slots:
39  void addCamera(int camera_id = -1);
40 
49  void removeCamera(int camera_id = -1);
50 
61  void loadImages(int camera_id = -1);
62 
73  void addImage(const QString &name,const QImage &image,int camera_id=-1);
74 
83  void saveCameraParameter(int camera_id = -1);
84 
93  void calibrateCamera(int camera_id = -1);
94 
104  void findChessBoard(int camera_id=-1,const QString &name=QString(""));
105 
106 private slots:
107  void contextMenuTreeView(const QPoint &point);
108  void clickedTreeView(const QModelIndex& index);
109  void displayImage(const QImage &image);
110  void removeCurrentItem();
111 
112 private:
113  qcam_calib::CameraItem *getCameraItem(int camera_id);
114  qcam_calib::ImageItem *getImageItem(int camera_id,const QString &name);
115 
116 private:
117  // file paths
118  QString current_load_path;
119 
120  // tree model
121  QStandardItemModel *tree_model;
122 
123  // menues
124  QMenu *camera_item_menu;
125  QMenu *tree_view_menu;
126  QMenu *image_item_menu;
127 
128  // image dispay
129  qcam_calib::ImageView *image_view;
130 
131  // progress stuff
132  QProgressDialog *progress_dialog_images;
133  QProgressDialog *progress_dialog_chessboard;
134  QProgressDialog *progress_dialog_calibrate;
135  QFutureWatcher<QImage> *future_watcher_images;
136  QFutureWatcher<QVector<QPointF> > *future_watcher_chessboard;
137  QFutureWatcher<void> *future_watcher_calibrate;
138 };
139 
140 #endif /* QCAMCALIB_HPP */
Definition: Items.hpp:27
Widget for calibrating pinhole cameras.
Definition: QCamCalib.hpp:25
Definition: ImageView.hpp:8
Definition: Items.hpp:47
Definition: ImageView.hpp:6