这是我第一次使用网络摄像机(D-LINK DCS-5605),我的最终任务是检测物体并跟踪它们(控制网络摄像机)...
我已经编写了 java 代码,以我想要的方式检测对象 usint openCV...
现在我需要使用 opencv 从 java 使用网络摄像机。
问题1)如何通过OpenCV检测网络摄像机?
问题2)如何通过java控制它?
任何事情都会对我有用,您的帮助将不胜感激:)问候。
朋友们,因为我在这里没有看到任何回应,这就是我在研究中发现的...
如果您使用 C,有一种方法可以做到这一点,有特殊的方法可以做到这一点,但不幸的是,在 java 界面中它无法访问......
所以我认为如果我真的决定用 java 来实现这一点,那么我需要修改 OpenCV.java并导出新的修改后的 jar......
希望这对某人有用...
我猜你不再监控这个问题了,但如果你或其他任何人偶然发现它,你可以使用JNI(Java原生接口)将OpenCV(C/C++版本)和Java连接在一起。这将允许您通过Java连接到相机并将图像传回OpenCV,或者通过OpenCV连接并将它们转发到Java,具体取决于您的偏好。
我仍在努力寻找通过Java连接到IP摄像机的最佳方法,但是Xuggler库运行良好并且学习曲线很小。但是要通过OpenCV进行连接,您只需将相机源的地址输入到CreateFileCapture方法,如下所示:
CvCapture *camera = cvCreateFileCapture("rtsp://username:password@your.IP.address.here:554/ch1-s1");
这对我有用。您传递的实际字符串将取决于相机。
至于通过Java控制摄像机,假设您正在谈论PTZ摄像机,那么通过http发送命令应该可以工作。