OPENCV OPENVINO cv2.rectangle



我正在使用opencv和openvino,并试图弄清楚何时检测到人脸,使用cv2.矩形并发送我的坐标,但只发送到被框包围的第一个人,这样它就可以移动电机,因为当它看到多个人时,它会发送多个坐标,从而导致伺服和步进电机疯狂。如有任何帮助,我们将不胜感激。谢谢

通常,每个代码都会逐行运行。您需要为每个场景创建一个适当的函数,以便正确地处理和处理数据。简而言之,您需要实现错误处理和数据处理(可能不止这些,具体取决于您的软件/硬件设计(。如果您试图同时实现多个执行线程,最好使用多线程。

此外,您正在使用两种类型的电机。简单地接收所有数据是低效的,并且容易导致数据丢失。你需要清楚伺服电机和步进电机的任务是什么,坐标之间的关系,谁会触发什么,如果出现故障或某个序列丢失,那么就执行任务X,等等。

例如,数据A的序列应该产生结果A,但中途停止,因为数据B进入缓冲区并干扰了结果A,同时拧紧了预期会发生的结果B。(这就是你的程序中发生的事情(

通过创建编码流程图(表示算法的图表(来审查和设计整个过程是很好的。它将让您清楚地了解每个代码序列应该发生什么。然后,为每种情况设计一个合适的处理程序。

您能分享更多关于(伪(代码的见解吗?

这听起来很容易——你触发一个人脸检测推理请求,就会得到一个包含所有检测到的人脸(每个检测到的脸的感兴趣区域(的列表/向量(包括假阳性和假阳性,需要进行一些一致性检查来过滤这些人脸(。

如果你只对第一个检测到的人脸感兴趣,那么可以只处理列表/向量中第一个返回的结果。

然而,您会看到,有时结果的顺序可能会发生变化,即当检测到两个面A和B时,在下一次运行中,它仍然可以返回面,但首先返回B,然后返回A。你可以在人脸检测的基础上添加对象跟踪,以确保你总是处理同一张脸。(但有时也可能失败(

最新更新