Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在未知尺度图像中寻找简单模板_C#_Templates_Aforge - Fatal编程技术网

C# 在未知尺度图像中寻找简单模板

C# 在未知尺度图像中寻找简单模板,c#,templates,aforge,C#,Templates,Aforge,我有一个地板布局(相当简单,白色背景,黑色内容)和地板上椅子的模板。我知道我需要寻找的所有方向(简单的上、下、左、右),但我不知道地板模板的比例 我与一个大公司合作,在那里,当我从布局中复制一把椅子以便知道确切的比例时,我可以找到地板上的所有椅子。这正是我想要的(我只需要椅子的中心x,y)。展望未来,我想自动化这一点。我不知道上传的平面图的确切比例 我使用Emgu.CV示例试图找到它(SURFFeature示例项目),但仅使用椅子作为模板不起作用。它似乎找不到任何ObservedDescript

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

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

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


关于如何确定比例有什么想法吗?

好的,我能让它工作了。我最后做的是在一个圆里画一个正方形,然后把我想要的东西放在正方形里

然后我使用:
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(从,虽然修改,因为我不需要旋转/灰度)来删除空白,只留下我想要的图像

  • 很抱歉,我没有这个示例图片-我还没有足够的代表发布它们

使用错误的刻度,读数不准确。这可能导致包装重量在谷类食品盒上打印错误,谷类食品盒由地秤而不是天平秤制成。这是因为对这些尺度的感知不同,以适应企业的多样化需求。而且,通过使用不同的校准,这可能会导致在地秤和计数秤上测量时,相同产品之间的重量不同。

哎呀,抱歉!我有一个关于缩放的想法——因为AForge有一个很好(而且很快)的形状检测器,我可以让我们的另一个团队在AutoCAD文件中添加一些特殊的形状,其中有一把椅子。我将知道形状的正常大小边界框和其中椅子的大小,然后我可以根据外部对象上边界框的百分比变化来缩放椅子。那么,我的问题是,对于一个独特到足以避免与平面图中的某个东西混淆的形状来说,什么是一个容易找到的形状。。。我最初的想法是星形(四个点)。思想?