Changeset 91


Ignore:
Timestamp:
07/23/2009 09:42:50 AM (10 years ago)
Author:
dave
Message:

moving stuff around and making a vision lib

Location:
foam/trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • foam/trunk/faceident/Makefile

    r89 r91  
    55        src/Face.cpp\ 
    66        src/ImageUtils.cpp\ 
    7         src/SceneState.cpp\ 
    8         src/tinyxml.cpp\ 
    9         src/tinyxmlerror.cpp\ 
    10         src/tinyxmlparser.cpp 
     7        src/SceneState.cpp 
    118 
    12 CCFLAGS = `pkg-config --cflags opencv` -ggdb -Wall -O3 -ffast-math -Wno-unused -DTIXML_USE_STL  
    13 LDFLAGS =  
    14 LIBS    = `pkg-config --libs opencv` -lYARP_dev -lYARP_sig -lYARP_OS -lACE 
     9# for the minute, go out and up to link to the vision lib 
     10CCFLAGS = -I../vision/src `pkg-config --cflags opencv` -ggdb -Wall -O3 -ffast-math -Wno-unused -DTIXML_USE_STL  
     11LDFLAGS = -L../vision/ 
     12LIBS    = `pkg-config --libs opencv` -lYARP_dev -lYARP_sig -lYARP_OS -lACE -lvision 
    1513 
    1614CC = g++ 
  • foam/trunk/faceident/src/main.cpp

    r84 r91  
    6666////////////////////////////////////////////////////////// 
    6767// These are the tweakable bits - see comments in FaceBank.h 
    68 FaceBank facebank(30, 40, 0.2, 0.1); //0.2 
     68FaceBank facebank(80, 120, 0.2, 0.1); //0.2 
    6969SceneState scenestate; 
    7070 
    7171// show all faces currently detected  
    72 #define SHOW_FACES 
     72//#define SHOW_FACES 
    7373//#define SAVE_FRAMES 
    7474 
     
    220220                } 
    221221        } 
    222  
     222        facebank.Save("faces"); 
    223223        cvDestroyWindow("result"); 
    224224        return 0; 
  • foam/trunk/vision/Makefile

    r90 r91  
    1 TARGET  := test 
     1TARGET  := libvision.a 
    22 
    3 SRCS    := src/main.cpp\ 
    4         src/Image.cpp\ 
     3SRCS    := src/Image.cpp\ 
    54        src/Rendering.cpp\ 
    65        src/Classifier.cpp\ 
     
    1413 
    1514CCFLAGS = `pkg-config --cflags opencv` -ggdb -Wall -O3 -ffast-math -Wno-unused -DTIXML_USE_STL  
    16 LDFLAGS =  
    17 LIBS    = `pkg-config --libs opencv` -lYARP_dev -lYARP_sig -lYARP_OS -lACE 
    1815 
    1916CC = g++ 
     
    3027 
    3128${TARGET}: ${OBJS}  
    32         ${CC} ${LDFLAGS} -o $@ $^ ${LIBS} 
     29        ar rc ${TARGET} ${OBJS} 
    3330 
    3431${OBJS}: %.o: %.cpp %.dep  
  • foam/trunk/vision/src/Vector.h

    r90 r91  
    5858        bool IsInf(); 
    5959        T Mean(); 
     60        T DistanceFrom(const Vector &other) const; 
     61        T Magnitude() const; 
    6062 
    6163        Vector &operator=(const Vector &other); 
     
    158160 
    159161template<class T> 
     162T Vector<T>::DistanceFrom(const Vector &other) const 
     163{ 
     164        assert(m_Size==other.m_Size); 
     165         
     166        float acc=0; 
     167        for (unsigned int i=0; i<m_Size; i++) 
     168        { 
     169                acc+=(other[i]-(*this)[i]) * (other[i]-(*this)[i]); 
     170        } 
     171         
     172        return sqrt(acc); 
     173} 
     174 
     175template<class T> 
     176T Vector<T>::Magnitude() const 
     177{ 
     178        float acc=0; 
     179        for (unsigned int i=0; i<m_Size; i++) 
     180        { 
     181                acc+=(*this)[i] * (*this)[i]; 
     182        } 
     183         
     184        return sqrt(acc); 
     185} 
     186 
     187template<class T> 
    160188Vector<T> Vector<T>::operator+(const Vector &other) const 
    161189{ 
     
    329357        Vector<T> om(m); 
    330358        assert(om[5]==0.5); 
     359         
     360        assert(feq(m.Magnitude(),0.5f)); 
     361        Vector<T> a(10); 
     362        a.Zero(); 
     363        a[5]=-10; 
     364        assert(feq(a.DistanceFrom(m),10.5f)); 
    331365} 
    332366 
  • foam/trunk/vision/src/main.cpp

    r90 r91  
    3333double scale = 1; 
    3434 
    35 //int w=50; 
    36 //int h=80; 
    37 int w=20; 
    38 int h=30; 
     35int w=50; 
     36int h=80; 
     37//int w=20; 
     38//int h=30; 
    3939 
    4040PCA pca(w*h); 
    41 Vector<float> params(50); 
     41Vector<float> params(100); 
    4242Image src("data/dave.png"); 
    4343 
     
    6565{ 
    6666        //Recalc(); 
    67         //FILE *f=fopen("spacek-20x30.pca", "wb"); 
     67        //FILE *f=fopen("spacek-50x80.pca", "wb"); 
    6868        //pca.Save(f); 
    6969         
    70         FILE *f=fopen("spacek-20x30.pca", "rb"); 
     70        FILE *f=fopen("spacek-50x80.pca", "rb"); 
    7171        pca.Load(f); 
    72          
    7372        fclose(f); 
    7473         
    75         pca.Compress(0,50); 
     74        pca.Compress(0,100); 
    7675        src = src.Scale(w,h).RGB2GRAY(); 
    7776        Vector<float> d(src.ToFloatVector());    
     
    298297        //} 
    299298         
    300         for (unsigned int i=0; i<pca.GetEigenTransform().GetRows(); i++) 
    301         { 
    302                 camera.Blit(Image(w,h,1,pca.GetEigenTransform().GetRowVector(i)*2+pca.GetMean()),(i%20)*(w+2),0+(i/20)*(h+2)); 
    303         } 
    304          
    305         camera.Blit(Image(w,h,1,pca.Synth(params)),200,200); 
    306         camera.Blit(src,100,200); 
     299        static float t=0; 
     300         
     301        for (unsigned int i=0; i<30; i++) 
     302        { 
     303                camera.Blit(Image(w,h,1,(pca.GetEigenTransform().GetRowVector(i)*50)/((i+1) * 1)+pca.GetMean() 
     304                        ),(i%10)*(w+2),0+(i/10)*(h+2)); 
     305        } 
     306         
     307        t+=0.1; 
     308         
     309        camera.Blit(Image(w,h,1,pca.GetMean()),0,300); 
     310        camera.Blit(src,60,300); 
     311        camera.Blit(Image(w,h,1,pca.Synth(params)),120,300); 
    307312 
    308313    cvShowImage("result", camera.m_Image); 
Note: See TracChangeset for help on using the changeset viewer.