qcam_calib
Items.hpp
Go to the documentation of this file.
1 #ifndef QCAMCALIB_ITEM_MODELS_HPP
2 #define QCAMCALIB_ITEM_MODELS_HPP
3 
4 #include <QStandardItem>
5 #include <QMenu>
6 #include <QVector>
7 
8 namespace qcam_calib
9 {
10  class QCamCalibItem: public QStandardItem
11  {
12  public:
13  QCamCalibItem():QStandardItem(){};
14  QCamCalibItem(const QString &string):QStandardItem(string){};
15  QCamCalibItem(float val):QStandardItem(val){};
16  };
17 
19  {
20  public:
21  CameraParameterItem(const QString &string);
22  void setParameter(const QString &name,double val=0);
23  void save(const QString &path)const;
24  double getParameter(const QString &name)const;
25  };
26 
27  class ImageItem : public QCamCalibItem
28  {
29  public:
30  static QVector<QPointF> findChessboard(const QImage &image,int cols ,int rows);
31 
32  ImageItem(const QString &name, const QImage &image);
33  virtual ~ImageItem();
34  QImage &getImage();
35  QImage &getRawImage();
36  const QVector<QPointF> &getChessboardCorners()const;
37 
38  bool findChessboard(int cols ,int rows);
39  void setChessboard(const QVector<QPointF> &chessboard,int cols,int rows);
40 
41  private:
42  QImage raw_image;
43  QImage image; // image with chessboard overlay
44  QVector<QPointF> chessboard;
45  };
46 
47  class CameraItem: public QCamCalibItem
48  {
49  public:
50  CameraItem(int id, const QString &string);
51  int getId();
52  ImageItem* addImage(const QString &name,const QImage &image);
53  ImageItem* getImageItem(const QString &name);
54  void calibrate(int cols,int rows,float dx,float dy);
55  void saveParameter(const QString &path)const;
56  bool isCalibrated();
57  int countChessboards();
58 
59  private:
60  int camera_id;
61  CameraParameterItem* camera_parameter;
62  QStandardItem *images;
63  };
64 
65 }
66 #endif
Definition: Items.hpp:10
Definition: Items.hpp:27
Definition: Items.hpp:18
QCamCalibItem(const QString &string)
Definition: Items.hpp:14
Definition: Items.hpp:47
Definition: ImageView.hpp:6
QCamCalibItem()
Definition: Items.hpp:13
QCamCalibItem(float val)
Definition: Items.hpp:15