Ignore:
Timestamp:
06/03/2009 10:01:22 AM (11 years ago)
Author:
dave
Message:

renamed faceident as it's not so simple these days

File:
1 edited

Legend:

Unmodified
Added
Removed
  • foam/trunk/vision/src/main.cpp

    r86 r89  
    2323#include "Vector.h" 
    2424#include "PCA.h" 
     25#include <glob.h> 
    2526 
    2627using namespace std; 
     
    3233double scale = 1; 
    3334 
    34 PCA pca(Image("data/a-id0001-image0000.png").RGB2GRAY().NumElements()); 
    35 int tw=Image("data/a-id0001-image0000.png").RGB2GRAY().m_Image->width; 
    36 int th=Image("data/a-id0001-image0000.png").RGB2GRAY().m_Image->height; 
    37 int tc=Image("data/a-id0001-image0000.png").RGB2GRAY().m_Image->nChannels; 
     35Image ti("data/spot-1.png"); 
     36PCA pca(ti.RGB2GRAY().Scale(30,40).NumElements()); 
    3837 
    3938void TestPCA() 
    4039{ 
    41         pca.AddFeature(Image("data/a-id0001-image0000.png").RGB2GRAY().ToFloatVector()); 
    42         pca.AddFeature(Image("data/a-id0001-image0001.png").RGB2GRAY().ToFloatVector()); 
    43         pca.AddFeature(Image("data/a-id0002-image0000.png").RGB2GRAY().ToFloatVector()); 
    44         pca.AddFeature(Image("data/a-id0002-image0001.png").RGB2GRAY().ToFloatVector()); 
    45         cerr<<"pre calc"<<endl; 
     40        ti=ti.RGB2GRAY().Scale(30,40); 
     41        glob_t g; 
     42        glob("data/pca/*.png",GLOB_PERIOD,NULL,&g); 
     43        for (unsigned int n=0; n<g.gl_pathc; n++) 
     44        { 
     45                string path=g.gl_pathv[n]; 
     46                cerr<<path<<endl; 
     47                Image im(path); 
     48                //im.SubMean(); 
     49                pca.AddFeature(im.RGB2GRAY().Scale(30,40).ToFloatVector()); 
     50        } 
     51        globfree (&g); 
    4652        pca.Calculate(); 
    47         cerr<<"post calc"<<endl; 
    4853} 
    4954 
     
    259264        // PCA display 
    260265         
    261         for (int i=0; i<10; i++) 
    262         { 
    263                 camera.Blit(Image(tw,th,tc,pca.GetEigenTransform().GetRowVector(i)),i*50,100); 
    264         } 
     266        camera.Clear(); 
     267 
     268        for (unsigned int i=0; i<pca.GetFeatures().size(); i++) 
     269        { 
     270                camera.Blit(Image(30,40,1,pca.GetFeatures()[i]),(i%20)*32,(i/20)*42); 
     271        } 
     272         
     273        for (unsigned int i=0; i<pca.GetEigenTransform().GetCols(); i++) 
     274        { 
     275                camera.Blit(Image(30,40,1,pca.GetEigenTransform().GetColVector(i),5),(i%20)*32,200+(i/20)*42); 
     276        } 
     277         
     278        pca.GetEigenValues().Print(); 
    265279 
    266280    cvShowImage("result", camera.m_Image); 
Note: See TracChangeset for help on using the changeset viewer.