我正在建立一个DIY激光目标。
到目前为止,在软件方面,我设法通过计算差异和阈值来找到何时激光射击目标,然后找到它与整个图像相关的位置。
现在我面临的下一个问题是找到与目标中心相关的位置。
我为目标组装了一个合适的盒子,但是在测试时我就是这样(内圈应该用黑色填充):
它不漂亮,并且有很多不相关的噪音,但它应该足以测试。这是最好的方案,从框中开始:
为了找到与目标中心相关的位置,我想我必须从这两个黑环中制作二进制图像并计算平均点。 (工作原理)
然后(假设目标是完全平行的,甚至没有透视),在知道中心的情况下,我需要知道外环离它有多远。
知道这应该是三角函数的问题,告诉标点符号(11到0,在外环的外面是0)
恢复问题:
- 需要检测已知的图形(环),告诉它的中心位置,并确定其半径。
醇>
我并不担心性能,因为这只会在每次运行程序时进行一次校准。
一些示例C ++代码(除了指向我可以使用的函数之外)会很棒,因为我是C ++和OpenCV的新手。