Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Opencv 斯诺克球碰撞检测_Opencv_Collision Detection - Fatal编程技术网

Opencv 斯诺克球碰撞检测

Opencv 斯诺克球碰撞检测,opencv,collision-detection,Opencv,Collision Detection,我试着检测斯诺克桌上一个白色球的初始颜色。我将使用摄像机俯视桌子,使球在x和y方向移动。我用opencv检测了斯诺克球及其颜色。只是尝试实现一种跟踪白色球首先碰到哪个球的方法。跟踪白色球的路径-当方向改变时,假设是击中 在改变方向的点上,找到从白色球的中心到彼此球的中心的距离 它击中的球必须是最近的距离(大概距离球的直径必须是1!)你也可以使用前景,在前景中,每个移动的球都是一个水滴。出现的第一个移动斑点是白色的球,第二个是第一个击中的球。然后检查整个图像以了解球的颜色。这是个好主意。谢谢你将如

我试着检测斯诺克桌上一个白色球的初始颜色。我将使用摄像机俯视桌子,使球在x和y方向移动。我用opencv检测了斯诺克球及其颜色。只是尝试实现一种跟踪白色球首先碰到哪个球的方法。

跟踪白色球的路径-当方向改变时,假设是击中

在改变方向的点上,找到从白色球的中心到彼此球的中心的距离


它击中的球必须是最近的距离(大概距离球的直径必须是1!)

你也可以使用前景,在前景中,每个移动的球都是一个水滴。出现的第一个移动斑点是白色的球,第二个是第一个击中的球。然后检查整个图像以了解球的颜色。

这是个好主意。谢谢你将如何追踪白球的轨迹?如果你能探测到球,你能探测到它的中心,如果你在每一帧中都这样做,那么中心的x,y的变化就是它的路径。我将“方向变化”概括为探测x和y速度的变化,例如,一次完全居中的碰撞,其中白球方向没有改变,而是完全减速或停止。啊,是的。干杯我得想出一些办法来对付垫子上的弹跳,但那应该work@Dave-谢谢,我没想到。这就是没有一个年轻人在游泳池大厅闲逛的问题:-)这似乎更容易实现。因为我只需要知道前两个移动的斑点。我该如何实现呢?我想你仍然需要检查球是否靠近白色球,如果有两个非白色球相互连接,如果白色球击中其中一个,即使第二个球也会移动,因此通过进行背景减法,你会看到3个球