summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ovision/ui
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/ovision/ui')
-rw-r--r--2005/i/robert/src/ovision/ui/Makefile.defs4
-rw-r--r--2005/i/robert/src/ovision/ui/comm.cc3
-rw-r--r--2005/i/robert/src/ovision/ui/live.cc54
3 files changed, 45 insertions, 16 deletions
diff --git a/2005/i/robert/src/ovision/ui/Makefile.defs b/2005/i/robert/src/ovision/ui/Makefile.defs
index b88f318..b212205 100644
--- a/2005/i/robert/src/ovision/ui/Makefile.defs
+++ b/2005/i/robert/src/ovision/ui/Makefile.defs
@@ -2,8 +2,8 @@ PROGRAMS += adjust ui liveView
LIBSGL= -L/usr/X11R6/lib -lGL -lGLU -lglut
LIBNCURSES=-lmenu -lncurses
-adjust_OBJECTS = adjust.o comm.o live.o $(ovision_OBJECTS) $(data_OBJECTS) $(image_OBJECTS) $(video4linux_OBJECTS) $(utils_OBJECTS) #$(net_OBJECTS)
-liveView_OBJECTS = liveView.o live.o $(ovision_OBJECTS) $(data_OBJECTS) $(image_OBJECTS) $(video4linux_OBJECTS) $(utils_OBJECTS)
+adjust_OBJECTS = adjust.o comm.o live.o $(ovision_OBJECTS) $(data_OBJECTS) $(image_OBJECTS) $(video4linux_OBJECTS) $(utils_OBJECTS) $(net_OBJECTS)
+liveView_OBJECTS = liveView.o live.o $(ovision_OBJECTS) $(data_OBJECTS) $(image_OBJECTS) $(video4linux_OBJECTS) $(utils_OBJECTS) $(net_OBJECTS)
ui_OBJECTS = ui.o mainui.o oconfig.o group.o segm.o
ui: $(ui_OBJECTS:%.o=%.o)
diff --git a/2005/i/robert/src/ovision/ui/comm.cc b/2005/i/robert/src/ovision/ui/comm.cc
index 0065bd2..9e7a446 100644
--- a/2005/i/robert/src/ovision/ui/comm.cc
+++ b/2005/i/robert/src/ovision/ui/comm.cc
@@ -261,6 +261,7 @@ Comm::executeUiCmds (const char *buffer)
case 't': // Entraine le reseau
+ live_->segm->setMode (Image::yuv);
live_->segm->trainNN(live_->img);
// On live_->segmente l'image puis on la stocke
live_->segmAndGroup();
@@ -274,8 +275,10 @@ Comm::executeUiCmds (const char *buffer)
// Assignation du nombre de couleurs a isoler par le reseau
live_->oconfig->nnNbColor = nbColor;
// Genere aleatoire les poids
+ live_->segm->setMode (Image::yuv);
live_->segm->buildNN(live_->oconfig->nnNbColor, Segm::generate);
// Apprentissage
+ live_->segm->setMode (Image::yuv);
live_->segm->trainNN(live_->img);
// On live_->segmente l'image puis on la stocke
live_->segmAndGroup();
diff --git a/2005/i/robert/src/ovision/ui/live.cc b/2005/i/robert/src/ovision/ui/live.cc
index c608c8f..7a8b042 100644
--- a/2005/i/robert/src/ovision/ui/live.cc
+++ b/2005/i/robert/src/ovision/ui/live.cc
@@ -66,18 +66,31 @@ Live::init (const Image::PixelFormat pf, const char *filename)
case socket:
{
// Serveur
-// ServerSocket ss (2000);
-// Address a;
-// SocketText *st_ = new SocketText (ss, a);
-// st_->nonblock ();
-// // DataBuffer de reception
-// DataBuffer *db_ = new DataBuffer;
-// // Reception des données
-// while (!st_->recv ());
-// *st_ >> *db_;
-// if (db_->type () != DataBuffer::Image)
-// std::cerr << "<Live::init> Echec de la transmission\n";
-// reader_ = new RawReader (*db_, width_, height_, pf);
+ ServerSocket ss (2000);
+ Address a;
+ SocketText *st_ = new SocketText (ss, a);
+ st_->nonblock ();
+ std::cerr << "<Live::init> Init socket\n";
+ // DataBuffer de reception
+ DataBuffer *db_ = new DataBuffer;
+ uint8_t c = 'a';
+ DataBuffer dbAskImg (&c, 1, 1, DataBuffer::AskImage);
+ std::cout << "Demande image...\n";
+ *st_ << dbAskImg;
+ std::cout << "envoye...\n";
+ st_->send ();
+ std::cout << "ok.\n";
+ // Reception des données
+ std::cout << "Rcpt...\n";
+ while (!st_->recv ());
+ std::cout << "Lecture...\n";
+ *st_ >> *db_;
+ std::cout << "ok.\n";
+ if (db_->type () != DataBuffer::Image)
+ std::cerr << "<Live::init> Echec de la transmission\n";
+ std::cout << "Reader...\n";
+ reader_ = new RawReader (*db_, width_, height_, pf);
+ std::cout << "Ok..\n";
}
break;
}
@@ -127,8 +140,20 @@ Live::updateImg (const Image::PixelFormat pf, const char *filename)
break;
case cam:
std::cout << "<Live::updateImg> Changement d'image caméra" << std::endl;
+ break;
case socket:
- break;
+ std::cerr << "<Live::init> Ask data\n";
+ uint8_t c = 'a';
+ DataBuffer dbAskImg (&c, 1, 1, DataBuffer::AskImage);
+ *st_ << dbAskImg;
+ st_->send ();
+ // Reception des données
+ while (!st_->recv ());
+ *st_ >> *db_;
+ if (db_->type () != DataBuffer::Image)
+ std::cerr << "<Live::init> Echec de la transmission\n";
+ reader_ = new RawReader (*db_, width_, height_, pf);
+ break;
}
img->load (*reader_);
memcpy(data[0], img->tabData_, sizeof(char) * img->nbPixels_ * 3);
@@ -188,7 +213,8 @@ Live::segmAndGroup (const int numColorToShow)
group->jumpPoints (oconfig->groupColor);
mag->analyse (group->getZoneList ());
list = mag->getItemList ((Group::ZoneType)oconfig->uiGroupToDisplay);
- int x, y, angle, dist;
+ int x, y, dist;
+ double angle;
for (std::vector<Zone>::iterator iter = list.begin ();
iter != list.end (); ++iter)
{