summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschodet2004-05-01 14:34:33 +0000
committerschodet2004-05-01 14:34:33 +0000
commitca55222ed88ced5ded14049488fabbf62143174b (patch)
treefe76136b67829be1f9cab17eab91c732af2b9e7c
parent2aecae09eb08f5caeee0e22034e8008665fb2524 (diff)
Début d'intégration.
-rw-r--r--2004/i/nono/src/ovision/Makefile.defs13
-rw-r--r--2004/i/nono/src/ovision/adjust.cc2
-rw-r--r--2004/i/nono/src/ovision/comm.cc2
-rw-r--r--2004/i/nono/src/ovision/comm.h4
-rw-r--r--2004/i/nono/src/ovision/group.cc7
-rw-r--r--2004/i/nono/src/ovision/img.cc22
-rw-r--r--2004/i/nono/src/ovision/img.h17
-rw-r--r--2004/i/nono/src/ovision/imgFile.cc4
-rw-r--r--2004/i/nono/src/ovision/imgFile.h4
-rw-r--r--2004/i/nono/src/ovision/map.cc3
-rw-r--r--2004/i/nono/src/ovision/map.h6
-rw-r--r--2004/i/nono/src/ovision/modele.h8
-rw-r--r--2004/i/nono/src/ovision/oconfig.cc (renamed from 2004/i/nono/src/ovision/config.cc)39
-rw-r--r--2004/i/nono/src/ovision/oconfig.h (renamed from 2004/i/nono/src/ovision/config.h)10
-rw-r--r--2004/i/nono/src/ovision/segmNN.cc10
-rw-r--r--2004/i/nono/src/ovision/segmNN.h11
-rw-r--r--2004/i/nono/src/ovision/segmTh.cc2
-rw-r--r--2004/i/nono/src/ovision/segmTh.h6
-rw-r--r--2004/i/nono/src/ovision/space.cc2
-rw-r--r--2004/i/nono/src/ovision/test.cc4
-rw-r--r--2004/i/nono/src/ovision/testimg.cc21
-rw-r--r--2004/i/nono/src/ovision/testmap.cc4
-rw-r--r--2004/i/nono/src/ovision/ui.cc6
23 files changed, 123 insertions, 84 deletions
diff --git a/2004/i/nono/src/ovision/Makefile.defs b/2004/i/nono/src/ovision/Makefile.defs
new file mode 100644
index 0000000..4c6ce31
--- /dev/null
+++ b/2004/i/nono/src/ovision/Makefile.defs
@@ -0,0 +1,13 @@
+TARGETS += test_ovision
+LIBS += ovision.a
+testimg_SOURCES = testimg.cc ovision.a video4linux.a
+test_ovision_SOURCES = testmap.cc ovision.a
+ovision_a_SOURCES = img.cc group.cc oconfig.cc map.cc \
+ segmNN.cc
+
+testimg: $(testimg_SOURCES:%.cc=%.o)
+
+test_ovision: $(test_ovision_SOURCES:%.cc=%.o)
+
+ovision.a: ${ovision_a_SOURCES:%.cc=ovision.a(%.o)}
+
diff --git a/2004/i/nono/src/ovision/adjust.cc b/2004/i/nono/src/ovision/adjust.cc
index 5bc6572..6652598 100644
--- a/2004/i/nono/src/ovision/adjust.cc
+++ b/2004/i/nono/src/ovision/adjust.cc
@@ -93,7 +93,7 @@ LoadImage(int width, int height, unsigned char *data, unsigned int lastTex)
//glTexImage2D(GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height, GL_RGB, GL_UNSIGNED_BYTE, data);
- // Config des parametres
+ // OConfig des parametres
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
diff --git a/2004/i/nono/src/ovision/comm.cc b/2004/i/nono/src/ovision/comm.cc
index 4ff2566..8b0199e 100644
--- a/2004/i/nono/src/ovision/comm.cc
+++ b/2004/i/nono/src/ovision/comm.cc
@@ -33,7 +33,7 @@ Comm::Comm(char *filename)
fclose(file);
// Creation de config
- config = new Config("vision.conf");
+ config = new OConfig("vision.conf");
// Ouverture de l'image pilote et stockage
img.ReadRaw(filename);
diff --git a/2004/i/nono/src/ovision/comm.h b/2004/i/nono/src/ovision/comm.h
index e97e580..6de692c 100644
--- a/2004/i/nono/src/ovision/comm.h
+++ b/2004/i/nono/src/ovision/comm.h
@@ -10,7 +10,7 @@
#include "img.h"
#include "segmNN.h"
-#include "config.h"
+#include "oconfig.h"
#include "group.h"
@@ -29,7 +29,7 @@ class Comm {
ImgFile img;
/// classe config
- Config *config;
+ OConfig *config;
/// classe segmentation
SegmNN *segm;
diff --git a/2004/i/nono/src/ovision/group.cc b/2004/i/nono/src/ovision/group.cc
index 603dd70..482bb93 100644
--- a/2004/i/nono/src/ovision/group.cc
+++ b/2004/i/nono/src/ovision/group.cc
@@ -7,6 +7,7 @@
#include "group.h"
#include <iostream>
#include <stdlib.h>
+#include <stdio.h>
#include <math.h>
using namespace std;
@@ -95,7 +96,7 @@ void Group::Plague(int type, unsigned char numColor, int x, int y) {
pCur = zoneListBall;
else if (type == GOAL)
{
- if (!((pLast->ymin <= 0) && (pLast->ymax >= config->width)))
+ if (!((pCur->ymin <= 0) && (pCur->ymax >= img->width)))
return;
pCur = zoneListGoal;
}
@@ -151,7 +152,7 @@ void Group::Plague(int type, unsigned char numColor, int x, int y) {
pLast->idColor = numColor;
// test si la balle est vu partiellement ou completement
- if ((pLast->xmin <= 0) || (pLast->ymin <= 0) || (pLast->xmax >= config->width) || (pLast->ymax >= config->height))
+ if ((pLast->xmin <= 0) || (pLast->ymin <= 0) || (pLast->xmax >= img->width) || (pLast->ymax >= img->height))
pLast->partial = 1;
else pLast->partial = 0;
@@ -173,7 +174,7 @@ void Group::ShowZones() {
pCur = pCur->next;
}
- ZONE *pCur = zoneListGoal;
+ pCur = zoneListGoal;
cout << "Groupes balles:" << endl;
while(pCur) {
printf("%u %i %i %i %i\n", pCur->idColor, pCur->xmin, pCur->xmax, pCur->ymin, pCur->ymax);
diff --git a/2004/i/nono/src/ovision/img.cc b/2004/i/nono/src/ovision/img.cc
index 6288404..60469ad 100644
--- a/2004/i/nono/src/ovision/img.cc
+++ b/2004/i/nono/src/ovision/img.cc
@@ -7,6 +7,7 @@
#include "img.h"
#include <iostream>
#include <stdlib.h>
+#include <stdio.h>
#include <math.h>
using namespace std;
/// Renvoie le minimum entre 2 nombres
@@ -21,15 +22,14 @@ Img::Img (void) {
tabData = NULL;
tabSegm = NULL;
- yuv = hsi = 0;
+ yuv = hsi = false;
}
/// Destructeur
Img::~Img (void) {
//free tabData
- if (tabData) delete [] tabData;
-
+ delete [] tabData;
}
@@ -38,7 +38,7 @@ Img::~Img (void) {
void Img::RGBtoYUV() {
unsigned char r,g,b;
- yuv = 1;
+ yuv = true;
// Parcours du tableau et conversion des valeurs RBG en YUV
for (unsigned long i=0; i<nbPixels; i++) {
@@ -56,7 +56,7 @@ void Img::RGBtoYUV() {
void Img::RGBtoHSI() {
unsigned char r,g,b;
- hsi = 1;
+ hsi = true;
// Parcours du tableau et conversion des valeurs RBG en HSI
for (unsigned long i=0; i<nbPixels; i++) {
@@ -81,3 +81,15 @@ void Img::WriteRGB(char *filename) {
fclose(file);
}
+/// Lit une image depuis un ImageLoader.
+void
+Img::load (ImageLoader &loader)
+{
+ delete[] tabData;
+ loader.getSize (width, height);
+ nbPixels = width * height;
+ tabData = new unsigned char[loader.getBufSize ()];
+ loader.read (tabData, loader.getBufSize ());
+ yuv = loader.getColorSpace () == ImageLoader::yuv;
+}
+
diff --git a/2004/i/nono/src/ovision/img.h b/2004/i/nono/src/ovision/img.h
index 877f7b7..dde68d2 100644
--- a/2004/i/nono/src/ovision/img.h
+++ b/2004/i/nono/src/ovision/img.h
@@ -3,10 +3,8 @@
// img.h - classe Image
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard
-
-
-// Chargement des librairies DevIL
-#include "config.h"
+#include "image/image_loader.h"
+#include "oconfig.h"
/// Chargement des images, conversion en YUV, HSI, detection des contours,
/// transformation d'une image segmentee en RGB, ecriture de l'image sur le disque
@@ -20,7 +18,7 @@ class Img
unsigned char *tabSegm;
/// dimension de l'image
- unsigned int height, width;
+ int height, width;
/// nombres de pixels de l'image
unsigned long nbPixels;
@@ -29,7 +27,7 @@ class Img
unsigned char *tabData;
/// mode de l'espace de couleurs
- char yuv,hsi;
+ bool yuv,hsi;
/// Constructeur
Img (void);
@@ -38,11 +36,13 @@ class Img
virtual ~Img (void);
/// Lis une image en utilisant le peripherique adequate (fichier, cam usb, cam)
- virtual int ReadRaw(char *sourcePath) = 0;
+#if 0
+ virtual int ReadRaw(char *sourcePath) = 0;
/// Ecriture de l'image sur le disque
virtual void WriteSegm(char *filename, unsigned char *tabSegm) = 0;
virtual void WriteSegm(char *filename) = 0;
+#endif
/// Conversion en YUV
void RGBtoYUV();
@@ -53,6 +53,9 @@ class Img
/// Ecrite des valeurs RGB dans un fichier
void WriteRGB(char *filename);
+ /// Lit une image depuis un ImageLoader.
+ void load (ImageLoader &loader);
+
protected:
};
diff --git a/2004/i/nono/src/ovision/imgFile.cc b/2004/i/nono/src/ovision/imgFile.cc
index 1ee5df6..98af37a 100644
--- a/2004/i/nono/src/ovision/imgFile.cc
+++ b/2004/i/nono/src/ovision/imgFile.cc
@@ -2,6 +2,10 @@
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard
+// Chargement des librairies DevIL
+#include <IL/il.h>
+#include <IL/ilu.h>
+
/// @file imgFile.cc Chargement des images, conversion en YUV, HSI, detection des contours, transformation d'une image segmentee en RGB, ecriture de l'image sur le disque
#include "imgFile.h"
diff --git a/2004/i/nono/src/ovision/imgFile.h b/2004/i/nono/src/ovision/imgFile.h
index d8ff33e..63ac4ae 100644
--- a/2004/i/nono/src/ovision/imgFile.h
+++ b/2004/i/nono/src/ovision/imgFile.h
@@ -5,10 +5,6 @@
// Copyright (C) 2004 Olivier Gaillard
-// Chargement des librairies DevIL
-#include <IL/il.h>
-#include <IL/ilu.h>
-
#include "img.h"
/// Chargement des images, conversion en YUV, HSI, detection des contours,
diff --git a/2004/i/nono/src/ovision/map.cc b/2004/i/nono/src/ovision/map.cc
index 8787c6d..6bf02e5 100644
--- a/2004/i/nono/src/ovision/map.cc
+++ b/2004/i/nono/src/ovision/map.cc
@@ -13,7 +13,7 @@ using namespace std;
/// Constructeurs.
-Map::Map (Config *config)
+Map::Map (OConfig *config)
{
lock = 0;
@@ -64,6 +64,7 @@ Map::TestSimilarBall(ZONE *pBall, list<BALL>::iterator &iter)
//TODO tester d'abord les zones et ensuite les pos
for(iter = ball.begin(); iter != ball.end(); iter++)
{
+ int pos[2] = {pBall->centerx, pBall->centery};
if (Dist(iter->position, pos) < (iter->partial || pBall->partial)?config->map_error_part:config->map_error)
return 1;
}
diff --git a/2004/i/nono/src/ovision/map.h b/2004/i/nono/src/ovision/map.h
index 7e507f1..db4416a 100644
--- a/2004/i/nono/src/ovision/map.h
+++ b/2004/i/nono/src/ovision/map.h
@@ -6,7 +6,7 @@
#include <list>
#include "group.h"
-#include "config.h"
+#include "oconfig.h"
#define LOCKED 1
#define UNLOCKED 0
@@ -42,7 +42,7 @@ struct BALL {
class Map
{
/// Variables configurables
- Config *config;
+ OConfig *config;
/// position des goals
int posGoal[2];
@@ -79,7 +79,7 @@ class Map
int zoneRobot;
/// Constructeurs.
- Map (Config *config);
+ Map (OConfig *config);
/// Destructeur.
~Map (void);
diff --git a/2004/i/nono/src/ovision/modele.h b/2004/i/nono/src/ovision/modele.h
index b07f522..7753939 100644
--- a/2004/i/nono/src/ovision/modele.h
+++ b/2004/i/nono/src/ovision/modele.h
@@ -1,6 +1,6 @@
#ifndef config_h
#define config_h
-// config.h - classe Config
+// oconfig.h - classe OConfig
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard
@@ -12,16 +12,16 @@
#define IMG_WIDTH 288
-class Config {
+class OConfig {
public:
// Constructeurs.
- Config (void);
+ OConfig (void);
// Destructeur.
- ~Config (void);
+ ~OConfig (void);
protected:
diff --git a/2004/i/nono/src/ovision/config.cc b/2004/i/nono/src/ovision/oconfig.cc
index 03ca5f7..921449e 100644
--- a/2004/i/nono/src/ovision/config.cc
+++ b/2004/i/nono/src/ovision/oconfig.cc
@@ -1,12 +1,13 @@
-// config.cc - Classe Config
+// config.cc - Classe OConfig
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard
/// @file config.cc Charge le fichier config et distribue les variables
-#include "config.h"
+#include "oconfig.h"
#include <iostream>
#include <stdlib.h>
+#include <stdio.h>
#include <string>
using namespace std;
@@ -14,11 +15,11 @@ using namespace std;
/// Parse une ligne du fichier de config
/// @param *var nom de la variable a fixer
/// @param *arg valeur de la variable
-void Config::Parse(char *var, char *arg) {
+void OConfig::Parse(char *var, char *arg) {
char argu[20];
- if (!arg) cerr << "Config::Parse : Error during config file parsing" << endl;
+ if (!arg) cerr << "OConfig::Parse : Error during config file parsing" << endl;
strcpy(argu, arg);
@@ -28,7 +29,7 @@ void Config::Parse(char *var, char *arg) {
FILE *file;
file=fopen(arg, "r");
- if (!file) cerr << "Config::Parse : Bad pathfile for " << arg << endl;
+ if (!file) cerr << "OConfig::Parse : Bad pathfile for " << arg << endl;
fgets(argu, 20,file);
@@ -67,7 +68,7 @@ void Config::Parse(char *var, char *arg) {
/// Constructor
/// @param *filename nom du fichier de config
-Config::Config(char *filename) {
+OConfig::OConfig(char *filename) {
const int NBARG = 3;
char *cut[NBARG] = {NULL};
@@ -77,7 +78,7 @@ Config::Config(char *filename) {
// Ouverture du fichier de conf
file = fopen(filename, "r");
- if (!file) cerr << "Config::Config : Error during config file opening" << endl;
+ if (!file) cerr << "OConfig::OConfig : Error during config file opening" << endl;
else cout << "Lecture du ficher de configuration" << endl;
@@ -109,7 +110,7 @@ Config::Config(char *filename) {
/// Chargement des poids d'un reseau de neurones
/// @param *filePath nom du fichier de poids a charger
-void Config::LoadNNFile(char *filePath) {
+void OConfig::LoadNNFile(char *filePath) {
const int NBARG = 4;
char *cut[NBARG] = {NULL};
FILE *file;
@@ -120,7 +121,7 @@ void Config::LoadNNFile(char *filePath) {
// Ouverture du fichier de conf
file = fopen(filePath, "r");
if (!file) {
- cerr << "Config::LoadNNFile : Error during poids file opening" << endl;
+ cerr << "OConfig::LoadNNFile : Error during poids file opening" << endl;
index = new int[nn_NbCouleurs];
for (int i=0; i<nn_NbCouleurs; i++)
index[i] = i;
@@ -133,7 +134,7 @@ void Config::LoadNNFile(char *filePath) {
numNode++;
if (numNode <= 0) {
- cerr << "Config::LoadNNFile : Corrupt poids file" << endl;
+ cerr << "OConfig::LoadNNFile : Corrupt poids file" << endl;
index = new int[nn_NbCouleurs];
for (int i=0; i<nn_NbCouleurs; i++)
index[i] = i;
@@ -204,10 +205,10 @@ void Config::LoadNNFile(char *filePath) {
/// @param *filename nom du fichier a creer
/// @param mode mode de l'espace de couleur
/// @param nbOutput nombre de couleurs a detecter du reseau de neurones
-void Config::CreateNNFile(const char *filename, int mode, int nbOutput) {
+void OConfig::CreateNNFile(const char *filename, int mode, int nbOutput) {
if (!node) {
- cerr << "Config::CreateNNFile : NN non initialisé\n";
+ cerr << "OConfig::CreateNNFile : NN non initialisé\n";
return;
}
@@ -245,7 +246,7 @@ void Config::CreateNNFile(const char *filename, int mode, int nbOutput) {
/// Chargement d'un fichier de seuils
-void Config::LoadThFile() {
+void OConfig::LoadThFile() {
const int NBARG = 6;
char *cut[NBARG] = {NULL};
FILE *file;
@@ -256,7 +257,7 @@ void Config::LoadThFile() {
// Ouverture du fichier de conf
file = fopen("threshold", "r");
if (!file) {
- cerr << "Config::LoadThFile : Error during config file opening\n" << endl;
+ cerr << "OConfig::LoadThFile : Error during config file opening\n" << endl;
return;
}
@@ -296,14 +297,14 @@ void Config::LoadThFile() {
/// Chargement de la table des distances
-void Config::LoadDistFile(char *filename, int **tab, int &height, int &width) {
+void OConfig::LoadDistFile(char *filename, int **tab, int &height, int &width) {
FILE *file;
// Ouverture du fichier de distance
file = fopen(filename, "rb");
if (!file) {
- cerr << "Config::LoadDistFile : Error during poids file opening" << endl;
+ cerr << "OConfig::LoadDistFile : Error during poids file opening" << endl;
return;
}
@@ -319,10 +320,10 @@ void Config::LoadDistFile(char *filename, int **tab, int &height, int &width) {
}
/// Creation d'un fichier pour la table des distances
-void Config::CreateDistFile(char *filename, int *tab, int height, int width) {
+void OConfig::CreateDistFile(char *filename, int *tab, int height, int width) {
if (!tab) {
- cerr << "Config::CreateDistFile : tab vide\n";
+ cerr << "OConfig::CreateDistFile : tab vide\n";
return;
}
@@ -339,7 +340,7 @@ void Config::CreateDistFile(char *filename, int *tab, int height, int width) {
/// Destructor
-Config::~Config()
+OConfig::~OConfig()
{
}
diff --git a/2004/i/nono/src/ovision/config.h b/2004/i/nono/src/ovision/oconfig.h
index d9b090b..32d89e7 100644
--- a/2004/i/nono/src/ovision/config.h
+++ b/2004/i/nono/src/ovision/oconfig.h
@@ -1,6 +1,6 @@
#ifndef config_h
#define config_h
-// config.h - classe Config
+// oconfig.h - classe OConfig
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard
@@ -19,7 +19,7 @@
/// Charge le fichier config et distribue les variables
-class Config {
+class OConfig {
public:
/// hauteur de l'image
@@ -105,10 +105,10 @@ class Config {
char imgPath[30];
/// Constructeur
- Config (char *filename);
+ OConfig (char *filename);
/// Destructeur
- ~Config (void);
+ ~OConfig (void);
/// Chargement d'un fichier de seuils
void LoadThFile();
@@ -117,7 +117,7 @@ class Config {
void LoadNNFile(char *filePath);
/// Chargement de poids pour le reseau de neurone
- void LoadNNFile() {LoadNNFile("poids");}
+ void LoadNNFile() {LoadNNFile("rc/poids");}
/// Creation d'un fichier de poids pour le reseau de neurones
void CreateNNFile(const char *file, int mode, int nbOutput);
diff --git a/2004/i/nono/src/ovision/segmNN.cc b/2004/i/nono/src/ovision/segmNN.cc
index d765f80..c1d1b75 100644
--- a/2004/i/nono/src/ovision/segmNN.cc
+++ b/2004/i/nono/src/ovision/segmNN.cc
@@ -7,6 +7,7 @@
#include "segmNN.h"
#include <iostream>
#include <stdlib.h>
+#include <stdio.h>
#include <math.h>
#include <time.h>
using namespace std;
@@ -15,7 +16,7 @@ using namespace std;
/// @param img classe img permettant d'acceder au donnees de l'image a traiter
/// @param config classe config permettant d'acceder aux variables de configuration
-SegmNN::SegmNN(ImgFile *img, Config *config) {
+SegmNN::SegmNN(Img *img, OConfig *config) {
// Sauvegarde les pointeurs
SegmNN::img = img;
SegmNN::config = config;
@@ -223,7 +224,7 @@ void SegmNN::Segm(int numColor) {
/// Entraine plusieurs reseaux de neurones avec des parametres differents et crees les images associees
void SegmNN::TestNN() {
- double sl[] = {0.01, 0.1, 1};
+/* double sl[] = {0.01, 0.1, 1};
unsigned long nil[] = {100, 1000, 10000, 100000, 1000000};
int nc[] = {3,4,5,6,7,8};
@@ -249,12 +250,13 @@ void SegmNN::TestNN() {
Segm();
// Ecriture des résultats dans une image
- sprintf(filename, "NN/%i-%lf-%luNN.jpg", nc[i_nc], sl[i_sl], nil[i_nil]);
+ sprintf(filename, "NN/%i-%f-%luNN.jpg", nc[i_nc], sl[i_sl], nil[i_nil]);
img->WriteSegm(filename, tabSegm);
- sprintf(filename, "NN/%i-%lf-%luNN", nc[i_nc], sl[i_sl], nil[i_nil]);
+ sprintf(filename, "NN/%i-%f-%luNN", nc[i_nc], sl[i_sl], nil[i_nil]);
config->node = node;
config->CreateNNFile(filename, config->colorMode, nbOutput);
}
}
}
+ */
}
diff --git a/2004/i/nono/src/ovision/segmNN.h b/2004/i/nono/src/ovision/segmNN.h
index e870392..71ff6e6 100644
--- a/2004/i/nono/src/ovision/segmNN.h
+++ b/2004/i/nono/src/ovision/segmNN.h
@@ -4,9 +4,8 @@
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard
-
-#include "imgFile.h"
-#include "config.h"
+#include "img.h"
+#include "oconfig.h"
// Constantes
#define MIN 0
@@ -21,10 +20,10 @@
class SegmNN
{
// Classe image
- ImgFile *img;
+ Img *img;
// Classe config
- Config *config;
+ OConfig *config;
public:
// tableau avec couleurs segmentees
@@ -43,7 +42,7 @@ class SegmNN
int nbOutput;
/// Constructeur
- SegmNN (ImgFile *img, Config *config);
+ SegmNN (Img *img, OConfig *config);
/// Destructeur
~SegmNN (void);
diff --git a/2004/i/nono/src/ovision/segmTh.cc b/2004/i/nono/src/ovision/segmTh.cc
index 78481b6..dea5491 100644
--- a/2004/i/nono/src/ovision/segmTh.cc
+++ b/2004/i/nono/src/ovision/segmTh.cc
@@ -6,7 +6,7 @@
#include <stdlib.h>
using namespace std;
-SegmTh::SegmTh(Img *img, Config *config) {
+SegmTh::SegmTh(Img *img, OConfig *config) {
SegmTh::img = img;
SegmTh::config = config;
nbOutput = config->nn_NbCouleurs;
diff --git a/2004/i/nono/src/ovision/segmTh.h b/2004/i/nono/src/ovision/segmTh.h
index b430340..eee8c7b 100644
--- a/2004/i/nono/src/ovision/segmTh.h
+++ b/2004/i/nono/src/ovision/segmTh.h
@@ -6,7 +6,7 @@
#include "img.h"
-#include "config.h"
+#include "oconfig.h"
#define MIN 0
#define MAX 1
@@ -14,7 +14,7 @@
class SegmTh
{
Img *img;
- Config *config;
+ OConfig *config;
int nbOutput; // nb de couleurs a différencier
@@ -22,7 +22,7 @@ class SegmTh
unsigned char *tabSegm; // tableau avec couleurs segmentées
// Constructeurs.
- SegmTh (Img *img, Config *config);
+ SegmTh (Img *img, OConfig *config);
// Destructeur.
~SegmTh (void);
diff --git a/2004/i/nono/src/ovision/space.cc b/2004/i/nono/src/ovision/space.cc
index 770a2d9..3a6bf63 100644
--- a/2004/i/nono/src/ovision/space.cc
+++ b/2004/i/nono/src/ovision/space.cc
@@ -109,7 +109,7 @@ void Space::SetDist(ZONE zone, unsigned int distance)
void Space::DoDistTab()
{
ImgFile img;
- Config config("vision.conf");
+ OConfig config("vision.conf");
SegmNN segm(&img, &config);
TABLOC loc;
diff --git a/2004/i/nono/src/ovision/test.cc b/2004/i/nono/src/ovision/test.cc
index 26b0500..85187f5 100644
--- a/2004/i/nono/src/ovision/test.cc
+++ b/2004/i/nono/src/ovision/test.cc
@@ -5,7 +5,7 @@
#include "img.h"
#include "segmNN.h"
#include "segmTh.h"
-#include "config.h"
+#include "oconfig.h"
#include "group.h"
#include "space.h"
#include <iostream>
@@ -17,7 +17,7 @@ using namespace std;
int main(int argc, char **argv) {
Img img;
- Config config("vision.conf");
+ OConfig config("vision.conf");
system("rm -Rf NN && mkdir NN");
diff --git a/2004/i/nono/src/ovision/testimg.cc b/2004/i/nono/src/ovision/testimg.cc
index 4b797ca..fe33e67 100644
--- a/2004/i/nono/src/ovision/testimg.cc
+++ b/2004/i/nono/src/ovision/testimg.cc
@@ -2,10 +2,10 @@
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard
-#include "imgFile.h"
#include "segmNN.h"
-#include "config.h"
+#include "oconfig.h"
#include "group.h"
+#include "video4linux/video4linux.h"
#include <iostream>
using namespace std;
@@ -13,13 +13,20 @@ using namespace std;
int main(int argc, char **argv) {
- ImgFile img;
+ Img img;
- Config config("vision.conf");
+ OConfig config("rc/vision.conf");
- if (argv[1]) img.ReadRaw(argv[1]);
- else img.ReadRaw("palet.jpg");
+ if (argv[1]) ; //img.ReadRaw(argv[1]);
+ else
+ {
+ Video4Linux v4l ("/dev/video", ImageLoader::yuv, 40000);
+ v4l.calibrate ();
+ img.load (v4l);
+ }
+
+ img.WriteRGB ("toto.yuv");
// img.EdgeDetect();
// img.RGBtoHSI();
// img.RGBtoYUV();
@@ -31,7 +38,7 @@ int main(int argc, char **argv) {
// segmNN.ShowNodes();
segmNN.Segm();
// config.node = segmNN.node;
- // config.CreateNNFile("poids", config.colorMode, segmNN.nbOutput);
+ // config.CreateNNFile("rc/poids", config.colorMode, segmNN.nbOutput);
// img.WriteSegm("NN.jpg", segmNN.tabSegm);
diff --git a/2004/i/nono/src/ovision/testmap.cc b/2004/i/nono/src/ovision/testmap.cc
index 2626617..33dc76e 100644
--- a/2004/i/nono/src/ovision/testmap.cc
+++ b/2004/i/nono/src/ovision/testmap.cc
@@ -1,13 +1,13 @@
#include "map.h"
-#include "config.h"
+#include "oconfig.h"
//#include "group.h"
int
main()
{
- Config config("vision.conf");
+ OConfig config("vision.conf");
Map map(&config);
ImgFile img;
diff --git a/2004/i/nono/src/ovision/ui.cc b/2004/i/nono/src/ovision/ui.cc
index 93ed499..a94b47b 100644
--- a/2004/i/nono/src/ovision/ui.cc
+++ b/2004/i/nono/src/ovision/ui.cc
@@ -12,7 +12,7 @@
#include <unistd.h>
#include <signal.h>
-#include "config.h"
+#include "oconfig.h"
#include "ui.h"
#include "testui.h"
@@ -25,7 +25,7 @@ using namespace std;
/// Nombre d'items du menu
#define NBITEMS 11
-Config config("vision.conf");
+OConfig config("vision.conf");
/// Items du menu principal
char *itemsName[NBITEMS][2] = {{"Move color", "Permet d'ajuster les niveaux d'une couleur"},
@@ -858,7 +858,7 @@ UI::Menu()
case 8: // Sauver les changements
// Sauvegarde des poids dans le fichier poids
- config.CreateNNFile("poids", config.colorMode, config.nn_NbCouleurs);
+ config.CreateNNFile("rc/poids", config.colorMode, config.nn_NbCouleurs);
// Reload du NN et de l'image a partir des nouveaux poids
sprintf(buf, "r -1");