summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/ovision/testcam.cc
blob: fe33e677e55ed7438befbc414202bd088a74811b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// img.cc - Classe Image
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard

#include "segmNN.h"
#include "oconfig.h"
#include "group.h"
#include "video4linux/video4linux.h"
#include <iostream>
using namespace std;




int main(int argc, char **argv) {
    Img img;

    OConfig config("rc/vision.conf");


    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();

    SegmNN segmNN(&img, &config);
    segmNN.BuildNN(config.nn_NbCouleurs, LOAD_FROM_FILE);

    //    segmNN.TrainNN();
    //    segmNN.ShowNodes();
    segmNN.Segm();
    //    config.node = segmNN.node;
    //    config.CreateNNFile("rc/poids", config.colorMode, segmNN.nbOutput);
    //    img.WriteSegm("NN.jpg", segmNN.tabSegm);


    //    segmNN.CreateThresholds("threshold");
    //    config.LoadThFile();
    //    SegmTh segmTh(&img, &config);
    //    segmTh.Segm();    
    //    img.WriteSegm("Th.jpg", segmTh.tabSegm);
    //    segmNN.TestNN();


    //    Group group(&img, &segmNN);
    //    group.JumpPoints(config.groupColor);

    /*    Space space(img.width, img.height);
    //if (group.zoneList) space.SetDist(group.zoneList[0], 10);
    space.DoDistTab();
    space.ShowTab();
    space.DoIndexTab();
    //    cout << space.GetDist(54) << endl;
    //    cout << space.GetDist(155) << endl;
    */
    //Vec vOrig(10, 5);
    //Vec vDir(1,2);
    //    space.GetPos(&vOrig, &vDir, -0.785);

    //   img.WriteSegm("group.jpg",group.tabOut);


}