C# 在未知尺度图像中寻找简单模板
我有一个地板布局(相当简单,白色背景,黑色内容)和地板上椅子的模板。我知道我需要寻找的所有方向(简单的上、下、左、右),但我不知道地板模板的比例 我与一个大公司合作,在那里,当我从布局中复制一把椅子以便知道确切的比例时,我可以找到地板上的所有椅子。这正是我想要的(我只需要椅子的中心x,y)。展望未来,我想自动化这一点。我不知道上传的平面图的确切比例 我使用Emgu.CV示例试图找到它(SURFFeature示例项目),但仅使用椅子作为模板不起作用。它似乎找不到任何ObservedDescriptor(它是空的),我认为这是因为椅子本身并不太复杂。我尝试了一个更复杂的模板(椅子+桌子,尽管它不能正常工作,因为椅子相对于桌子不一致)。结果似乎没有什么用处,它指向了平面图上的一些随机位置,但似乎不太正确C# 在未知尺度图像中寻找简单模板,c#,templates,aforge,C#,Templates,Aforge,我有一个地板布局(相当简单,白色背景,黑色内容)和地板上椅子的模板。我知道我需要寻找的所有方向(简单的上、下、左、右),但我不知道地板模板的比例 我与一个大公司合作,在那里,当我从布局中复制一把椅子以便知道确切的比例时,我可以找到地板上的所有椅子。这正是我想要的(我只需要椅子的中心x,y)。展望未来,我想自动化这一点。我不知道上传的平面图的确切比例 我使用Emgu.CV示例试图找到它(SURFFeature示例项目),但仅使用椅子作为模板不起作用。它似乎找不到任何ObservedDescript
关于如何确定比例有什么想法吗?好的,我能让它工作了。我最后做的是在一个圆里画一个正方形,然后把我想要的东西放在正方形里 然后我使用:
Blob[]blobs=blobCounter.GetObjectsInformation()
获取页面上的所有blob
在斑点中循环并查找所有的圆和正方形,将它们添加到每个圆和正方形的列表中
if (shapeChecker.IsCircle(edgePoints, out center, out radius))
{
circs.Add(b);
}
else if (corners.Count == 3)
tris.Add(b);
else if (corners.Count == 4)
boxes.Add(b);
在每个圆上循环,每个圆上都有正方形,并寻找两个中心点大致相同的正方形
为了得到里面的物体,我从正方形里面复制了一个裁剪的图像(在x,y上添加一些,从宽度,高度上删除一些)。这给了我在正方形内的空白和物体
然后,我使用autocrop(从,虽然修改,因为我不需要旋转/灰度)来删除空白,只留下我想要的图像
- 很抱歉,我没有这个示例图片-我还没有足够的代表发布它们