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
static QVector< QPointF > findChessboard(const QImage &image, int cols, int rows)
Definition: Items.cpp:239
const QVector< QPointF > & getChessboardCorners() const
Definition: Items.cpp:234
void save(const QString &path) const
Definition: Items.cpp:88
void calibrate(int cols, int rows, float dx, float dy)
Definition: Items.cpp:151
void setChessboard(const QVector< QPointF > &chessboard, int cols, int rows)
Definition: Items.cpp:264
void setParameter(const QString &name, double val=0)
Definition: Items.cpp:50
Definition: Items.hpp:10
int countChessboards()
Definition: Items.cpp:139
Definition: Items.hpp:27
ImageItem * addImage(const QString &name, const QImage &image)
Definition: Items.cpp:212
QImage & getImage()
Definition: Items.cpp:291
ImageItem * getImageItem(const QString &name)
Definition: Items.cpp:201
QImage & getRawImage()
Definition: Items.cpp:296
ImageItem(const QString &name, const QImage &image)
Definition: Items.cpp:224
Definition: Items.hpp:18
QCamCalibItem(const QString &string)
Definition: Items.hpp:14
Definition: Items.hpp:47
double getParameter(const QString &name) const
Definition: Items.cpp:72
int getId()
Definition: Items.cpp:124
QCamCalibItem()
Definition: Items.hpp:13
QCamCalibItem(float val)
Definition: Items.hpp:15
void saveParameter(const QString &path) const
Definition: Items.cpp:134
virtual ~ImageItem()
Definition: Items.cpp:230
bool isCalibrated()
Definition: Items.cpp:129
CameraItem(int id, const QString &string)
Definition: Items.cpp:109
CameraParameterItem(const QString &string)
Definition: Items.cpp:31