可以用haarCascades来获取对象大小吗?

时间:2016-08-01 09:12:25

标签: opencv image-processing opencv3.0 haar-classifier

我是图像处理的新手。我想检测图像中的一组对象并比较大小。这可以使用haarCascades

1 个答案:

答案 0 :(得分:2)

很可能,只需返回检测到的对象周围的边界框的大小,您可以通过各种方式执行此操作,例如获取围绕对象绘制的矩形的宽度和高度。另一种简单的方法是使用size

在C ++中,它看起来像这样:

//-- Detect faces
  face_cascade.detectMultiScale( frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) );

  for( size_t i = 0; i < faces.size(); i++ )
  {
    Point center( faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5 );
    ellipse( frame, center, Size( faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 );

然后,放cout << faces[i].size << endl;

可以找到完整的代码here。阅读更多关于基于Haar特征的对象检测级联分类器here