00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00080 #ifndef CALIBAPP_H
00081 #define CALIBAPP_H
00082
00083 #include "../ui/calibapp_base.h"
00084
00085
00086 class Q3CanvasSprite;
00087 class Q3Canvas;
00088 class Q3CanvasView;
00089
00090 #include <qlistview.h>
00091
00092 #undef signals
00093 #include <libplayerc++/playerc++.h>
00094 #define signals protected
00095
00096 using namespace PlayerCc;
00097
00098 #include "camera.h"
00099 #include <ardev/ardev.h>
00100 #include <ardev/capture.h>
00101 #include <libthjc/geometry.h>
00102
00103
00104 class CalibApp : public QMainWindow, public Ui_CalibApp
00105 {
00106 Q_OBJECT
00107
00108 public:
00109 CalibApp(int argc, char **argv, QWidget* parent = 0, Qt::WFlags flags = 0);
00110 virtual ~CalibApp() {};
00111
00112 void ProcessImage();
00113
00114 void LoadCalibPoints();
00115
00116
00117 int argc;
00118 char ** argv;
00119
00120 public slots:
00121 void Idle();
00122
00123 void OriginalClicked();
00124 void ShowStageClicked();
00125 void CalibrateClicked();
00126
00127 void calibChanged();
00128
00129
00130 void AcquireToggled(bool);
00131
00132 void fileOpen();
00133 void fileSaveAs();
00134
00135 void Load2DPoints();
00136 void Load3DPoints();
00137
00138
00139 protected:
00140 void ShowImage(const ARImage & im);
00141
00142 ARImage Original;
00143 ARImage Original_Backup;
00144 #define NumStages 15
00145 ARImage Stages[NumStages];
00146
00147 list<Line> Lines;
00148 vector<Point2D> OrderedPoints;
00149
00150 bool Capturing;
00151 QTimer * AcquireTimer;
00152
00153
00154 PlayerClient * PClient;
00155 Position3dProxy * Pos;
00156
00157
00158 PlayerClient * camServer;
00159 CameraProxy * cp;
00160 ARImage Acquired;
00161
00162
00163 double CubePoints[27][3];
00164 double CubeOffset[3];
00165
00166
00167 Camera cam;
00168
00169 bool CalibrationDone;
00170 };
00171
00172
00173
00174 #endif // CALIBAPP_H