summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/vision/image.h
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/vision/image.h')
-rw-r--r--2004/i/nono/src/vision/image.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/2004/i/nono/src/vision/image.h b/2004/i/nono/src/vision/image.h
new file mode 100644
index 0000000..4177f81
--- /dev/null
+++ b/2004/i/nono/src/vision/image.h
@@ -0,0 +1,48 @@
+#ifndef image_h
+#define image_h
+// image.h - Image class
+// buzz - Programme du robot Efrei Robotique I1-I2 2003
+// Copyright (C) 2003 Nicolas Schodet
+
+#include "thresholds.h"
+#include "camera/camera.h"
+
+struct ImageGroup
+{
+ ImageGroup *next;
+ int x, y, w, h;
+ int zone, type;
+};
+
+class Image
+{
+ int m_width, m_height;
+ unsigned char *m_image;
+ unsigned char *m_zones;
+ ImageGroup *m_groups;
+ const Thresholds *m_thresholds;
+ Camera *m_camera;
+ public:
+ // Constructeurs.
+ Image (const char *filename, const Thresholds *thresholds);
+ Image (Camera *camera, const Thresholds *thresholds);
+ // Destructeur.
+ ~Image (void);
+ // Filtre l'image pour trouver les zones.
+ void filter (void);
+ // Fait des packets de pixels.
+ void group (void);
+ // Affiche les groupes qui on été trouvés.
+ void dumpGroups (void);
+ // Enregistre les infos trouvées.
+ void dump (const char *filename);
+ // Filtre les packets de pixels.
+ void groupFilter (void);
+ // Relit les données de la camera et fait les analyses.
+ bool reread (void);
+ protected:
+ // Fait des packets de pixels sur les lignes.
+ void groupLine (void);
+};
+
+#endif // image_h