我是图像处理的新手。我想检测图像中的一组对象并比较大小。这可以使用haarCascades
答案 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;