我在openCV中将两个轮廓矢量OUTERCONT和INNERCONT定义为矢量(矢量(点))。我想检查一个轮廓是否存在于另一个轮廓内。我还想知道每个OUTERCONT内部存在多少个轮廓。 我目前正在围绕每个轮廓绘制一个minEnclosingRect并检查以下内容:
for (int i = 0; i < outerrect.size(); i++)
{
count = 0;
for (int j = 0; j < innerrect.size(); j++)
{
bool is_inside = ((innerrect[j] & outerrect[i]) == innerrect[j]);
if (is_inside == 1)
count++;
}
if (count > 0)
{
//DO SOMETHING
}
cout << count << endl;
这似乎不起作用,它总是将计数返回到120左右的某个数字,这是不对的。您能否建议进行任何更改以使其正常工作?
注意:我不能使用层次结构,因为它们是从2个不同函数返回的两组独立轮廓。
我知道PointPloygon测试是一个选项,但你能建议更多的方法吗?