0

我有一个地板布局(相当简单,白色背景,黑色内容)和地板上的椅子模板。我知道我需要寻找的所有方向(简单的上、下、左、右),但我不知道进来的地板模板的比例。

我让它与 AForge 一起工作,当我从布局中复制椅子时,我知道确切的比例,我可以找到地板上的所有椅子。这正是我想要的(我只需要椅子的中心 x,y)。展望未来,我想自动化这个。我不知道正在上传的平面图的确切比例

我使用 Emgu.CV 示例尝试找到它(SURFFeature 示例项目),但仅使用椅子作为模板不起作用。我认为它似乎没有找到任何观察到的描述符(它为空),因为椅子本身并不太复杂。我尝试了一个更复杂的模板(椅子+桌子,虽然它不能正常工作,因为椅子相对于桌子不一致)。结果似乎没有用,它指向平面图上的一些随机位置,但似乎不太正确。

关于确定规模的方法有什么想法吗?

4

2 回答 2

1

通过使用错误的刻度,读数不准确。这可能会导致包装重量被误印在由地面秤而不是天平制成的谷物盒上。这是因为这些尺度上的精确度是不同的,以适应企业的不同需求。而且,通过使用不同的校准,这可能会导致在地板秤上测量时相同产品与计数秤上的重量不同。

于 2013-03-05T07:14:25.840 回答
0

好吧,我能够得到这个工作。我最终做的是在一个圆圈内画一个正方形并将我想要的对象放在正方形内

然后我使用:Blob[] blobs = blobCounter.GetObjectsInformation( );获取页面上的所有 blob。

遍历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 上添加一些,从宽度、高度中删除一些)。这给了我广场内的空白空间和物体

然后我使用自动裁剪(从这里开始,虽然因为我不需要旋转/灰度而修改)来切掉空白,只剩下我想要的图像!

  • 抱歉,我没有示例图片 - 我还没有足够的代表来发布它们
于 2013-02-08T16:44:51.607 回答