opencv的一个问题 70

voiddetect_and_draw(IplImage*img){staticCvScalarcolors[]={{{0,0,255}},{{0,128,255}},{... void detect_and_draw( IplImage* img )
{
static CvScalar colors[] =
{
{{0,0,255}},
{{0,128,255}},
{{0,255,255}},
{{0,255,0}},
{{255,128,0}},
{{255,255,0}},
{{255,0,0}},
{{255,0,255}}
};

double scale = 1.3;
IplImage* gray = cvCreateImage( cvSize(img->width,img->height), 8, 1 );
IplImage* small_img = cvCreateImage( cvSize( cvRound (img->width/scale),cvRound (img->height/scale)),8, 1 );
int i;
cvCvtColor( img, gray, CV_BGR2GRAY ); //彩色转灰度
cvResize( gray, small_img, CV_INTER_LINEAR ); //大小变换
cvEqualizeHist( small_img, small_img ); //灰度图象直方图均衡化
cvClearMemStorage( storage ); //清空存储块中的存储内容

if( cascade )
{
double t = (double)cvGetTickCount();
CvSeq * faces = cvHaarDetectObjects( small_img, cascade, storage,
1.6, 2,0, /*CV_HAAR_DO_CANNY_PRUNING,*/
cvSize(20, 20) );
t = (double)cvGetTickCount() - t;
printf( "detection time = %gms\n", t/((double)cvGetTickFrequency()*1000.) );

for( i = 0; i < (faces ? faces->total : 0); i++ )
{
CvRect* r = (CvRect*)cvGetSeqElem( faces, i );

CvPoint pt1,pt2;
pt1.x = r->x*scale;
pt2.x = (r->x+r->width)*scale;
pt1.y = r->y*scale;
pt2.y = (r->y+r->height)*scale;
cvRectangle( img, pt1, pt2, CV_RGB(0,255,0), 3, 8, 0 );
我用这个程序检测了人脸,怎样将圈中的人脸中的元素值提取出来?
展开
 我来答
SonT
2012-07-29 · TA获得超过2346个赞
知道小有建树答主
回答量:948
采纳率:33%
帮助的人:576万
展开全部
opencv里有个概念叫ROI,region of interest,
比如你获得的人脸的矩形框如果是cvRect region的话,源图像是img的话,下面的代码可以实现

cvSetImageROI((IplImage*)img, region);
// Copy region of interest into a new iplImage and return it.
size.width = region.width;
size.height = region.height;
m_FaceArea = cvCreateImage(size, IPL_DEPTH_8U, img->nChannels);
cvCopy(img, m_FaceArea); // Copy just the region.
cvResetImageROI((IplImage *)img);

m_FaceArea就是脸的图像了
阿芋王
2012-07-25 · TA获得超过161个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:128万
展开全部
算出来的人脸框的坐标已经有了,pt1和pt2是对应的方框的两个顶点,如果你想考出数据来,建一个r->width*scale*r->height*scale大小的iplimage,逐行拷过来就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式