summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/vision/image.cc
diff options
context:
space:
mode:
authorschodet2003-09-10 20:37:26 +0000
committerschodet2003-09-10 20:37:26 +0000
commit45e9ad53c377e594e03bf14fa4c6bab5322ada64 (patch)
tree51ec363e6c32c5559e668908c3fa9d4c4171c05d /2003/i/buzz/src/vision/image.cc
parentf015c80c46842c758efa4c6e1fb7e9bc83ad5a90 (diff)
Apres 2003
Diffstat (limited to '2003/i/buzz/src/vision/image.cc')
-rw-r--r--2003/i/buzz/src/vision/image.cc23
1 files changed, 19 insertions, 4 deletions
diff --git a/2003/i/buzz/src/vision/image.cc b/2003/i/buzz/src/vision/image.cc
index 27f13f8..48fc445 100644
--- a/2003/i/buzz/src/vision/image.cc
+++ b/2003/i/buzz/src/vision/image.cc
@@ -51,15 +51,16 @@ Image::Image (const char *filename, const Thresholds *thresholds)
// Initalisation
m_groups = 0;
m_thresholds = thresholds;
+ m_camera = 0;
}
-Image::Image (const Camera &camera, const Thresholds *thresholds)
+Image::Image (const Camera *camera, const Thresholds *thresholds)
{
+ // Copie la camera.
+ m_camera = camera;
// Allocate memory...
- camera.getSize (m_width, m_height);
+ m_camera->getSize (m_width, m_height);
m_image = new unsigned char [m_width * m_height * 4];
- // Lit l'image. TODO si = 0.
- while (!camera.read (m_image));
// Alloue de la memoire pour les zones.
m_zones = new unsigned char [m_width * m_height];
// Initalisation
@@ -327,3 +328,17 @@ Image::dump (const char *filename)
// Close it.
fclose (fp);
}
+
+// Relit les données de la camera et fait les analyses.
+bool
+Image::reread (void)
+{
+ // Lit l'image.
+ if (m_camera->read (m_image) == 0)
+ return false;
+ filter ();
+ group ();
+ groupFilter ();
+ return true;
+}
+