Cascade Classifier Method を使用して、見つかった丸い形状 (顔が検出された画像セットから) と、最初に定義した参照円を比較して、これらの 2 つの円/楕円を一致させることができるようにしたいと考えています。 、および参照として使用される秒。
目標は、参照から頭が大きいか小さいかを最後に言うことです。
これはどのように行うことができますか?
Cascade Classifier Method を使用して、見つかった丸い形状 (顔が検出された画像セットから) と、最初に定義した参照円を比較して、これらの 2 つの円/楕円を一致させることができるようにしたいと考えています。 、および参照として使用される秒。
目標は、参照から頭が大きいか小さいかを最後に言うことです。
これはどのように行うことができますか?
CascadeClassifier は cv::Rect のベクトルを返します。検出の相対的なサイズを参照のサイズと比較しようとしているだけの場合は、おそらく Rect を使用するだけで、円について心配する必要はありません。参照を定義したため、参照のサイズがわかります。次に、それを検出された各 Rect のサイズと比較します。
cv::Size referenceSize(24,24); //you know this before hand
cv::Rect detectedObject = detectedObjects[0];//look at first Rect from cascade
if(referenceSize.area() > detectedObject.area())
{ // detection is smaller than reference
}
else
{ // detection is larger than reference
}
また、detectMultiScale の最小/最大サイズ パラメーターを使用して、基準よりも小さいか大きいだけのオブジェクトを見つけることもできます。