summaryrefslogtreecommitdiff
path: root/2004/i/nono/src
diff options
context:
space:
mode:
authorgaillaro2004-08-06 19:40:12 +0000
committergaillaro2004-08-06 19:40:12 +0000
commit2a4986b267f871e4802973afa284baeb2366910b (patch)
treebe10496387331e7f80d547397b1cc036ad601521 /2004/i/nono/src
parentbb3df9227cce80350cdecaddaa2b86e87c54b68a (diff)
Ajout de la conversion YUV et HSI dans le tableau de segmTable
Diffstat (limited to '2004/i/nono/src')
-rw-r--r--2004/i/nono/src/ovision/ovision.cc9
-rw-r--r--2004/i/nono/src/ovision/ovision.h3
-rw-r--r--2004/i/nono/src/ovision/segmTable.cc11
-rw-r--r--2004/i/nono/src/ovision/segmTable.h2
4 files changed, 22 insertions, 3 deletions
diff --git a/2004/i/nono/src/ovision/ovision.cc b/2004/i/nono/src/ovision/ovision.cc
index e4c8d2c..a80d62f 100644
--- a/2004/i/nono/src/ovision/ovision.cc
+++ b/2004/i/nono/src/ovision/ovision.cc
@@ -124,4 +124,11 @@ bool
OVision::GetBall (double &x, double &y)
{
return map->GetCurBallPos (x, y);
-}
+}
+
+/// Renvoie le pointeur sur Video4Linux
+Video4Linux &
+OVision::GetVideo4Linux ()
+{
+ return *v4l;
+}
diff --git a/2004/i/nono/src/ovision/ovision.h b/2004/i/nono/src/ovision/ovision.h
index 4eb6be7..84ffc23 100644
--- a/2004/i/nono/src/ovision/ovision.h
+++ b/2004/i/nono/src/ovision/ovision.h
@@ -64,6 +64,9 @@ class OVision
/// Renvoie la position
bool GetBall (double &x, double &y);
+
+ /// Renvoie le pointeur sur Video4Linux
+ Video4Linux & GetVideo4Linux ();
};
#endif // ovision_h
diff --git a/2004/i/nono/src/ovision/segmTable.cc b/2004/i/nono/src/ovision/segmTable.cc
index e4b4b9e..aa252c2 100644
--- a/2004/i/nono/src/ovision/segmTable.cc
+++ b/2004/i/nono/src/ovision/segmTable.cc
@@ -4,6 +4,7 @@
/// @file segmTable.cc Segmente l'image et cree un tableau contenant des valeurs segmentees, creation du reseau de neurones
#include "segmTable.h"
+#include "convertImg.h"
#include <fstream>
#include <iostream>
@@ -35,12 +36,20 @@ SegmTable::~SegmTable ()
/// et augmenter la rapidité
/// @param testOutputMax choix de l'utilisation d'un sueil maxi pour la sortie pour éviter qu'une couleur trop différente soit attribuer à une autre couleur
void
-SegmTable::DoColorTable (bool testOutputMax)
+SegmTable::DoColorTable (bool testOutputMax, char colorMode)
{
unsigned char x[3];
delete [] colorTable;
colorTable = new unsigned char[COLOR_TAB_SIZE_TOTAL];
+
+ ConvertImg conv;
+
+ if (colorMode == YUV)
+ conv.RGBtoYUV (*img);
+ if (colorMode == HSI)
+ conv.RGBtoHSI (*img);
+
// Parcours de toutes les valeurs possibles
for (int i=0; i<COLOR_TAB_SIZE; i++)
diff --git a/2004/i/nono/src/ovision/segmTable.h b/2004/i/nono/src/ovision/segmTable.h
index af03938..84f1772 100644
--- a/2004/i/nono/src/ovision/segmTable.h
+++ b/2004/i/nono/src/ovision/segmTable.h
@@ -43,7 +43,7 @@ class SegmTable : public SegmNN
virtual unsigned char GiveColor (unsigned char *x, bool testOutputMax = false, bool indexProcess = false);
/// Cree un tableau des couleurs segmentées pour ne plus faire de calcul
- void DoColorTable (bool testOutputMax = false);
+ void DoColorTable (bool testOutputMax = false, char colorMode = YUV);
/// Cree un fichier de ColorTable
void CreateColorTableFile (char *filename = "rc/colortable");