我有一个应该能够同时运行多台摄像机的设置。这些相机检测物体(不是以OO类方式,而是物理物体,如椅子),并为这些物体提供唯一的ID。确定哪台摄像机在多摄像机设置中检测到动作
但是,我正在考虑如何确定从哪个相机检测到动作。这需要的原因是因为如果某物(可能是人物或物体)从camera1移动到camera2,则ID应该保持不变。
我对此没有解决办法,这就是为什么我问你。不过,我的设置看起来像这样。
public class Camera extends Thread{
public int cameraID;
private ImageHandling imgHandling;
public void run(){
while(true){
//read images from camera
.
.
.
imgHandling.initialize(this);
//imgHandling does all the image analysis and also handles the tracking AND the motion detection. This should not be relevant for this question.
//The identification of different movements is also done in the imageHandling.
}
}
}
这意味着每个摄像头都有自己的ImageHandling类。另外,每个摄像头都是一个线程,并且图像的获取意味着在运行方法中。此外,每个相机都有一个唯一的ID,即如果该设置有3个相机,ID将是1,2和3.
我用Java编程,但我不认为解决方案必须是语言特定。
你有一个相机类,大概映射到一个物理相机?如果相机有检测动作的方法,那肯定会是你的相机类的一部分?您可以将“CameraMotionListeners”添加到每个摄像头以通知他们动作。就目前而言,这太宽泛了...... – John3136
它自己提供的相机只是提供图像。我完成了所有的运动检测。所以没有任何检测或图像处理在相机中完成。 我应该怎么做才能缩小它呢?因为我找不到类似的问题。 – user2990057
它是否在Camera类中完成? – John3136