facerecog.dpr

来自「Delphi版本的OpenCV头文件库(以及诸多实例)」· DPR 代码 · 共 61 行

DPR
61
字号
program FaceRecog;
uses
  Forms,
  sysutils,
  IPL in '..\Ipl.pas',
  OpenCV in '..\OpenCV.pas',
  highGui in '..\highGui.pas',
  cvCAm in '..\cvCAm.pas';

{$R *.res}
const w =  500 ;
var  nCams : integer;
     VAL : integer;
     storage : pCvMemStorage;
     cascade : pointer ;
     capture : pcvCapture;

     cascadeFN : pChar;

begin
 cascadeFN := 'C:\Archivos de programa\OpenCV\data\haarcascades\haarcascade_frontalface_alt2.xml' ;
 cascade := cvLoad( cascadeFN,nil,nil,nil );

 storage := cvCreateMemStorage(0);
 cascade := 0;
 capture := cvCaptureFromFile( 'G:\Trabajo\c醡ara oficina\22-09 c醡ara oficina(DivX).Avi');

 if( cascade = nil) or (capture= nil) then
 begin
  exit;
 end;
 cvNamedWindow( 'Video', 1 );
 while (true) do
 {
   IplImage* frame = cvQueryFrame( capture ), *img;
   if( !frame )
      break;
   img= cvCloneImage(frame);
   img->origin = 0;
   if( frame->origin )
      cvFlip(img, img);
   cvClearMemStorage( &storage );
   CvSeq* faces = cvHaarDetectObjects( img, cascade, storage,1.1, 2, CV_HAAR_DO_CANNY_PRUNING, cvSize(20, 20) );
   for( inti = 0; i < (faces ? faces->total : 0); i++ )
   {
     CvRect* r = (CvRect*)cvGetSeqElem( faces, i );
     cvRectangle( img, cvPoint(r->x,r->y),cvPoint(r->x+r->width,r->y+r->height),CV_RGB(255,0,0), 3 );
   }
   {cvShowImage( "Video", img);cvReleaseImage( &img);
   if( cvWaitKey(10) >= 0 )
     break;
 }
 cvReleaseCapture( @capture );

end.



uses OpenCV;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?