対象のオブジェクトの周りに境界ボックスを描画するコードを書きました。次のステップは、境界ボックスのサイズを変更して、背景が少しあるようにすることです。ここで、この関心領域を処理できるように、境界ボックスの内容を別の画像で取得したいと考えています。私が書いたコードは次のとおりです。
findContours(Sal11, Objects, CV_RETR_LIST, CV_CHAIN_APPROX_NONE);
//Kleine contouren verwijderen.
for(unsigned int i = 0; i < Objects.size(); i++)
{
if (Objects[i].size() > 250 && Objects[i].size() < 500)
Objects2.push_back(Objects[i]);
}
cv::Mat Person=input;
// Bounding Box
for(unsigned int i = 0; i < Objects2.size(); i++)
{
Rect rect = boundingRect(Objects2[i]);
Point pt1, pt2;
pt1.x = rect.x - 100;
pt1.y = rect.y;
pt2.x = rect.x + rect.width + 100;
pt2.y = rect.y + rect.height;
rectangle(input, pt1, pt2, CV_RGB(0,0,255), 1);
cout << rect << endl;
Rect rect2;
Person = input(rect);
}
rect2
は今のところ何もしていませんが、 のコンテンツにしたいと考えていますrect
。でpt1
、pt2
バウンディング ボックスのサイズを変更します。コードはリアルタイム処理用です。