私は兆候を検出するプロジェクトに取り組んでいます。現在haar
、手の検出を取得するためのトレーニングを使用しています。XML
さまざまな兆候のファイルをトレーニング しました。検出プログラムで複数のXML
ファイルを使用できません。とにかく、さまざまなXML
ファイルを含めてさまざまな兆候を検出したり、複数の兆候を検出するために従うことができる別の方法はありますか
前もって感謝します。
コード:
if( cascade1)
{
// There can be more than one hand in an image. So create a growable sequence of hands.
// Detect the objects and store them in the sequence
CvSeq* hands1 = cvHaarDetectObjects( img, cascade1, storage,
1.1, 2, CV_HAAR_DO_CANNY_PRUNING,
cvSize(40, 40) );
// Loop the number of hands found.
for( i = 0; i < (hands1 ? hands1->total : 0); i++ )
{
// Create a new rectangle for drawing the hand
CvRect* r = (CvRect*)cvGetSeqElem( hands1, i );
// Find the dimensions of the hand,and scale it if necessary
pt1.x = r->x*scale;
pt2.x = (r->x+r->width)*scale;
pt1.y = r->y*scale;
pt2.y = (r->y+r->height)*scale;
// Draw the rectangle in the input image
cvRectangle( img, pt1, pt2, CV_RGB(230,20,232), 3, 8, 0 );
//text
// Show the image in the window named "result"
cvShowImage( "result", img );
}
}
else if (cascade2)
{
CvSeq* hands2 = cvHaarDetectObjects( img, cascade2, storage,
1.1, 2, CV_HAAR_DO_CANNY_PRUNING,
cvSize(40, 40) );
// Loop the number of hands found.
for( i = 0; i < (hands2 ? hands2->total : 0); i++ )
{
// Create a new rectangle for drawing the hand
CvRect* r = (CvRect*)cvGetSeqElem( hands2, i );
// Find the dimensions of the hand,and scale it if necessary
pt3.x = r->x*scale;
pt4.x = (r->x+r->width)*scale;
pt3.y = r->y*scale;
pt4.y = (r->y+r->height)*scale;
// Draw the rectangle in the input image
cvRectangle( img, pt3, pt4, CV_RGB(230,20,232), 3, 8, 0 );
//text
// Show the image in the window named "result"
cvShowImage( "result", img );
onexml
ファイルのみを検出します