Ignore:
Timestamp:
05/29/2009 04:12:50 PM (11 years ago)
Author:
dave
Message:

started writing the LDA classifier

File:
1 edited

Legend:

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

    r83 r85  
    1313#include <time.h> 
    1414#include <ctype.h> 
     15#include <vector> 
    1516 
    1617#ifdef _EiC 
     
    1920 
    2021#include "Image.h" 
     22#include "Matrix.h" 
     23#include "Vector.h" 
     24#include "LDAClassifier.h" 
     25 
     26using namespace std; 
    2127 
    2228static CvMemStorage* storage = 0; 
     
    167173void detect_and_draw( IplImage* img ) 
    168174{ 
    169     IplImage *gray, *small_img; 
    170     int i, j; 
    171  
    172     gray = cvCreateImage( cvSize(img->width,img->height), 8, 1 ); 
    173     small_img = cvCreateImage( cvSize( cvRound (img->width/scale), 
    174                          cvRound (img->height/scale)), 8, 1 ); 
    175  
    176     cvCvtColor( img, gray, CV_BGR2GRAY ); 
    177     cvResize( gray, small_img, CV_INTER_LINEAR ); 
    178     cvEqualizeHist( small_img, small_img ); 
    179     cvClearMemStorage( storage ); 
    180          
     175        Image camera(img); 
     176        CvFont font; 
     177        cvInitFont( &font, CV_FONT_HERSHEY_PLAIN, 0.5, 0.5, 0, 1, CV_AA ); 
     178 
     179        ////////////////////////////////// 
     180        // Matrix tests 
     181        Matrix<float>::RunTests(); 
     182 
     183        ////////////////////////////////// 
    181184        // test the debayering 
    182         Image im("data/bayer.pgm"); 
     185        /*Image im("data/bayer.pgm"); 
    183186        im.Crop(300,300,320,240); 
    184187        im.RGB2GRAY(); 
    185         //im.PrintInfo(); 
    186         im.BayerGB2RGB(); 
    187     cvShowImage( "result", im.m_Image ); 
    188          
    189 /*  
    190         IplImage *li = cvLoadImage("test3-0.png"); 
    191         lpbhist(0, 0, li, gray); 
    192         cvReleaseImage( &li ); 
     188        im.BayerGB2RGB();*/ 
     189         
     190        ////////////////////////////////// 
     191        // image differencing 
     192         
     193        vector<Image> imagevec; 
     194        //imagevec.push_back(Image("data/audrey.png")); 
     195        imagevec.push_back(Image("data/dave-1.png")); 
     196        imagevec.push_back(Image("data/dave-2.png")); 
     197        imagevec.push_back(Image("data/amber-1.png")); 
     198        imagevec.push_back(Image("data/amber-2.png")); 
     199        //imagevec.push_back(Image("data/false.png")); 
     200 
     201        for(unsigned int x=0; x<imagevec.size(); x++) 
     202        { 
     203                //cvSobel(imagevec[x].m_Image, imagevec[x].m_Image, 2, 2); 
     204                //cvSmooth(imagevec[x].m_Image, imagevec[x].m_Image, CV_GAUSSIAN, 7); 
     205                //imagevec[x].SubMean(); 
     206        } 
     207 
     208        camera.Clear(); 
     209 
     210        for(unsigned int x=0; x<imagevec.size(); x++) 
     211        { 
     212                camera.Blit(imagevec[x],100+50*x,50); 
     213        } 
     214 
     215        for(unsigned int x=0; x<imagevec.size(); x++) 
     216        { 
     217                camera.Blit(imagevec[x],50, 100+50*x); 
     218        } 
     219         
     220        for(unsigned int x=0; x<imagevec.size(); x++) 
     221        { 
     222                for(unsigned int y=0; y<imagevec.size(); y++) 
     223                { 
     224                        Image diff=imagevec[x]-imagevec[y]; 
     225                        camera.Blit(diff,100+50*x,100+50*y); 
     226                        char s[32]; 
     227                        sprintf(s,"%0.5f",1-imagevec[x].SSD(imagevec[y])); 
     228                        cvPutText(camera.m_Image, s, cvPoint(100+50*x,150+50*y), &font, colors[0]);              
     229                } 
     230        } 
     231         
     232        //camera.Blit(dave1,100,100); 
     233        //camera.Blit(dave2,140,100); 
     234        //camera.Blit(other,180,100); 
     235         
     236         
     237 
     238     cvShowImage("result", camera.m_Image); 
    193239  
    194         li = cvLoadImage("test3-1.png"); 
    195         lpbhist(100, 0, li, gray); 
    196         cvReleaseImage( &li ); 
    197   
    198         li = cvLoadImage("test3-3.png"); 
    199         lpbhist(200, 0, li, gray); 
    200         cvReleaseImage( &li ); 
    201 */ 
    202     cvReleaseImage( &gray ); 
    203     cvReleaseImage( &small_img ); 
    204240} 
    205241 
Note: See TracChangeset for help on using the changeset viewer.