OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 2983|回复: 0

固定影像中物体检测!!!!!!!

[复制链接]
发表于 2008-11-16 15:30:21 | 显示全部楼层 |阅读模式
请问以下人脸检测结果为何是-1??????
我是用windows下VC编译并采用opencv1.0.0版的
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <float.h>
#include &quot;cv.h&quot;
#include &quot;highgui.h&quot;
#include &quot;cvaux.h&quot;
#include &quot;ml.h&quot;
#include &quot;cxcore.h&quot;
#include &quot;cvcam.h&quot;

CvHaarClassifierCascade *load_object_detector( const char* cascade_path )
{
    return (CvHaarClassifierCascade*)cvLoad( cascade_path );
}
void main()
{   
        IplImage *image = cvLoadImage( &quot;E:/MX/lunwen/opencv/lena1.jpg&quot;,1);
        CvMat stub,*img = (CvMat*)image;
    CvMat *temp=0,*sum = 0, *tilted = 0, *sqsum = 0;
        int face=0;
        const char cascade_path[]=&quot;E:/MX/lunwen/opencv/haarcascade_frontalface_alt2.xml&quot;;
    if( image != 0 )
    {
                img = cvGetMat( image, &stub, 0);
                temp = cvCreateMat( img->rows, img->cols, CV_8UC1 );
                sum = cvCreateMat( img->rows + 1, img->cols + 1, CV_32SC1 );
                sqsum = cvCreateMat( img->rows + 1, img->cols + 1, CV_64FC1 );
                tilted = cvCreateMat( img->rows + 1, img->cols + 1, CV_32SC1 );
                if( CV_MAT_CN(img->type) > 1 )
                        {
                        cvCvtColor( img, temp, CV_BGR2GRAY );
                        img = temp;
                        }
        CvHaarClassifierCascade* cascade = load_object_detector(cascade_path);
                cvIntegral( img, sum, sqsum, tilted );
                cvNamedWindow( &quot;test&quot;, CV_WINDOW_AUTOSIZE );
                cvShowImage( &quot;test&quot;, img );
                cvSetImagesForHaarClassifierCascade( cascade, sum, sqsum, tilted, 1 );
                CvPoint ptr= {0,0};
                face= cvRunHaarClassifierCascade(cascade, ptr, 0);     //在图中是否有人臉
                if(face>0)
                {
                        printf(&quot;the detect succ!!!!!!!!!!\n&quot;);
                        printf(&quot;the value of face is:%d\n&quot;,face);
                }
                else
                        printf(&quot;the detect error!!!!!!!!!\n&quot;);
                cvReleaseHaarClassifierCascade(&cascade);
                printf(&quot;the detect result is:%d\n&quot;,face);
        cvWaitKey(0);
        cvReleaseHaarClassifierCascade( &cascade );
        cvReleaseImage( &image );
    }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-29 18:33 , Processed in 0.008824 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表