这里我试图使用相机实时检测PCB上的FIDUCIAL点,我也使用C#.net 4 win-form应用程序。
经过两天的谷歌搜索和阅读许多帖子和博客。我发现我必须做一些名为 平移错误检测 和 旋转错误检测的内容。
即。基准(对象)的位置在图像上的实际()与所需(已知位置)
在下图中
右下角的黑色方块和左上方的基准点我需要检测并用于错误检查。
这里(A)是正确的图像,(B)是基准点位置有误差的图像。
现在我必须在图像上画线,关于基准点。所以在图像A上,我可以绘制线条(红色),如下图(A)所示。
但是如果我在图像(B)上绘制相同的线条,由于它的放置方式而产生错误,如果我使用相同的X和Y值,我将绘制错误的线条(RED)。
但是这里的正确线路(B)我需要将ERROR值添加到我的X和Y值,以便我可以绘制正确的线(GRREN),如(B)所示。
所以在这里,我试图找出如何归档这个;
1)检测两个基准点,在Image上获取它们的位置,并将其与正确的位置进行比较。
2)找到ERROR(在角度/事务/旋转中)?
3)通过添加X和Y值来使用错误值。
我还发现Aforge.net或OpenCV对此有用,但我不确定如何?基准的其他可能形状有三角形,钻石形和圆形。
感谢任何帮助/指南...... !!! 谢谢你的时间。
修改
我有偏移值,对于两个fidicual点,(DX1,DY1)和(DX2,DY2)是原始点移动的值。
那么,现在我该如何使用它?纠正放置中的错误。 现在我该如何使用它
答案 0 :(得分:2)
将实际FID1调整为0,0,同时将预期FID1调整为0,0。这创造了一个"铰链/枢轴"点。现在,所有其他基准和所有其他组件都可以表示为来自0,0铰链的极坐标。
现在,忘记X,Y坐标系。你不在乎X,Y。您必须使用许多有效数字将所有X,Y转换为极坐标,以确保准确性。
现在,您只需要计算从预期到实际的delta角度!再次,不要打扰X,Y计算通过使用铰链/枢轴概念,预期和实际的矢量距离总是相等的。向量的长度永远不会改变到实际 - 只有角度改变!
请记住,无论您如何旋转,PCB都具有相同的尺寸。想想老派量角器。将量角器设置为0,0原点并绘制弧形!
我没有足够的声誉来发布图片,所以不幸的是我必须链接到图片。另外,我有太多的项目给你一个正确的教程,所以这个2分钟的伪插图必须足够好。