从图像板错误检测PCB基准检测

时间:2014-07-15 06:36:31

标签: opencv image-processing machine-learning computer-vision aforge

这里我试图使用相机实时检测PCB上的FIDUCIAL点,我也使用C#.net 4 win-form应用程序。

经过两天的谷歌搜索和阅读许多帖子和博客。我发现我必须做一些名为 平移错误检测 旋转错误检测的内容。

即。基准(对象)的位置在图像上的实际()与所需(已知位置)

在下图中

右下角的黑色方块和左上方的基准点我需要检测并用于错误检查。

这里(A)是正确的图像,(B)是基准点位置有误差的图像。

enter image description here

现在我必须在图像上画线,关于基准点。所以在图像A上,我可以绘制线条(红色),如下图(A)所示。

但是如果我在图像(B)上绘制相同的线条,由于它的放置方式而产生错误,如果我使用相同的X和Y值,我将绘制错误的线条(RED)。

但是这里的正确线路(B)我需要将ERROR值添加到我的X和Y值,以便我可以绘制正确的线(GRREN),如(B)所示。

enter image description here

所以在这里,我试图找出如何归档这个;

1)检测两个基准点,在Image上获取它们的位置,并将其与正确的位置进行比较。

2)找到ERROR(在角度/事务/旋转中)?

3)通过添加X和Y值来使用错误值。

我还发现Aforge.net或OpenCV对此有用,但我不确定如何?基准的其他可能形状有三角形,钻石形和圆形。

感谢任何帮助/指南...... !!! 谢谢你的时间。

修改

我有偏移值,对于两个fidicual点,(DX1,DY1)和(DX2,DY2)是原始点移动的值。

那么,现在我该如何使用它?纠正放置中的错误。 现在我该如何使用它

1 个答案:

答案 0 :(得分:2)

将实际FID1调整为0,0,同时将预期FID1调整为0,0。这创造了一个"铰链/枢轴"点。现在,所有其他基准和所有其他组件都可以表示为来自0,0铰链的极坐标。

现在,忘记X,Y坐标系。你不在乎X,Y。您必须使用许多有效数字将所有X,Y转换为极坐标,以确保准确性。

现在,您只需要计算从预期到实际的delta角度!再次,不要打扰X,Y计算通过使用铰链/枢轴概念,预期和实际的矢量距离总是相等的。向量的长度永远不会改变到实际 - 只有角度改变!

请记住,无论您如何旋转,PCB都具有相同的尺寸。想想老派量角器。将量角器设置为0,0原点并绘制弧形!

我没有足够的声誉来发布图片,所以不幸的是我必须链接到图片。另外,我有太多的项目给你一个正确的教程,所以这个2分钟的伪插图必须足够好。

illustration of hinge/pivot concept