返回首页

{A}源代码和演示包括所有需要OpenCV的库。项目需要。NET Framework 4中。
{S0}简介
本文介绍的轮廓分析的理论基础和其实际应用中的形象recognition.nbsp方面的文章alsonbsp;轮廓分析与操作,包括图书馆和演示的例子。
文章的第一部分包含的主要轮廓分析的定义和定理。我试图选择允许迅速了解不够的轮廓分析的精髓,并开始在实践中的应用主要时刻。另外,我从自己的东西。的核心,它涉及理论的某些方面,也轮廓分析算法的优化问题。 thenbsp第二部分;文章是专门为它。在同一个地方的算法工作的结果带来的问题和给定的方法的缺陷进行了阐述。
第三部分介绍了C#库ContourAnalysis。第1部分:轮廓分析的基什么是必要的轮廓分析(CA)
CA允许用来描述,存储,比较和寻找外部轮廓的形式提出的对象 - 轮廓。
这是应该的轮廓包含必要的信息对物体的形状。要注意对象的内部点不接受。它限制了CA算法的适用性的面积,但审查唯一的轮廓,可以通过从两维空间的图像 - 空间的轮廓,以较低的计算和算法的复杂性。
CA可以有效地解决了模式识别的主要问题 - 换位,关闭和重新缩放对象的形象。 CA的方法是不变的这些转变。主要的概念
首先,我们定义这样一个对象的轮廓。轮廓是一个对象的边界,人口的点(像素),从背景中分离出来的对象。
在计算机视觉系统,轮廓编码格式的使用 - Freeman码,二维编码,多边形编码最为著名。但是,所有这些编码格式中不使用CA的。
相反,在CA的轮廓编码复数组成的序列。在一个轮廓,为出发点,这是所谓的点是固定的。然后,轮廓扫描(受理 - 顺时针),以及每个偏移向量是一个复杂的数IB指出。 - 点在X轴和B偏移 - Y轴偏移。注意到关于前一点偏移。
由于三维物体的物理性质,其轮廓始终关闭,不能自相交。它允许明确定义(在一个方向 - 或逆时针)绕过一个轮廓的一种方式。最后一个轮廓的矢量总是导致的出发点。
的每一个轮廓的向量,我们将其命名的基本向量(EV)。复数数字序列 - 向量轮廓(VC)。
向量轮廓,我们将指定的大希腊字母,小学一个载体 - 小希腊字母。
因此,矢量轮廓Γ的长度为k可以指定为:{S2}
为什么在复数的CA编码是用?因为在一个轮廓的复数向量操作具有显着的数学特性,在与其他编码方式的比较。
基本上,复杂的编码是接近二维轮廓人口的二维坐标中的电动车定义的编码。但标产品的运作载体和复数之间的差异 - 是多方面的。此情况下,也优先的CA方法。等高线的属性一个封闭的轮廓EV的总和等于零。这是微不足道的 - 小学向量起点,其总和等于一个零矢量。不依赖于源图像并行换位的轮廓矢量。由于轮廓编码相对起点,这种编码方式是不变的转移的初步轮廓。在一定角度的图像又是相当于把每一个相同的角度轮廓EV。起点修改进行VC循环移位。由于电动汽车是关于前一点的编码,它是明确的,在修改的出发点,序列的EV将是相同的,但起点开始的首个EV将。源图像重新缩放可以被视为每一个比例因子的轮廓EV乘法。标量积的轮廓
在产品轮廓标,Γ和N被称为这种复杂的数字:
其中k - n的轮廓Γ,νn的基本载体 - - N轮廓N.(γn,νn)EV - 一个VC,γn维标量积的计算公式为复数:
让我们的薪酬在CA注意标产品只有一个相同的维VC是应该的。这是在轮廓小学向量的数量应相吻合。
标产品 - 通常复数向量和标量的产品有所不同。如果我们简单的一个向量的EV乘以时,他们的标产品看起来:{五}
比较这个公式公式(2),你需要注意的是:标量向量的产品的结果是实数。成果和产品的复数 - 复数。标产品的复数的实部,恰逢适当的向量与标量的产品。这是复杂的产品,包括矢量标量积。
,现在让我们记住线性代数。要准确 - 标量积的物理意义和属性。标产品在产品之间的夹角的余弦向量的长度线性代数上一律平等。这意味着两个相互垂直的向量将始终具有零积,线的一个向量 - 相反,会给标产品的最大价值。
产品的这些属性允许使用它作为载体亲近的某些措施。如果是 - 向量之间的角度,quot;更多closequot;他们给对方。垂直向量 - 它是降低到零,并进一步指示每个向量变为负数。它的出现,标产品(1)也具有类似的属性。
让我们引入一个概念 - 正常化标产品(NSP):{中六}
其中,|γ| | ñ | - 规范计算轮廓(长): {七}
在新型干法复数空间,也是一个复杂的数字。
因此,团结是最大可能的新型干法规范值(它从一个柯西Bunyakovsky - Schwarz不等式如下

回答

评论会员:帕维尔Torgashov 时间:2012/01/27
会员8035367
评论会员:游客 时间:2012/01/27
祝贺获奖外部组件抛出的异常。当我编译它给上述错误。我怎样才能解决这个错误。我试着用很多方法,但没有得到解决。相机工作正常。请帮助我。谢谢
帕维尔Torgashov
评论会员:游客 时间:2012/01/27
。嗨检查是否有OpenCV的库文件夹中的项目。库OpenCV的也许不适合你的平台。我这个项目下的windows7x86的测试
会员8035367
评论会员:游客 时间:2012/01/27
您好先生,我的操作系统是WindowsXPSP3中的VisualStudio2010专业版。所有OpenCV的库也项目directory.Still它不工作
帕维尔Torgashov
评论会员:游客 时间:2012/01/27
尝试与下一行创建文件ContourAnalysisDemo.exe.config:codeprelang="HTML"spanclass="code-keyword"</spanspanclass="code-leadattribute"configuration/spanspanclass="code-attribute"<startup/spanspanclass="code-attribute"<supportedRuntime/spanspanclass="code-attribute"version/spanspanclass="code-keyword"="/spanspanclass="code-keyword"v4.0"/spanspanclass="code-keyword"//spanspanclass="code-attribute"/spanspanclass="code-keyword"<//spanspanclass="code-leadattribute"startup/spanspanclass="code-attribute"</spanspanclass="code-keyword"//spanspanclass="code-attribute"configuration/span/pre/code哇!谢谢。谢谢。codeprelang="sharp"spanclass="code-keyword"public/spanPointFSourceBoxCenter;spanclass="code-keyword"public/spanSizeFSourceBoxSize;spanclass="code-keyword"public/spanspanclass="code-keyword"float/spanSourceBoxAngle;/pre/code codeprelang="c#"spanclass="code-keyword"int/spanmaxArea=frameWidth*frameHeight;/pre/code