问题描述
|
这是我第一次使用网络摄像机(D-LINK DCS-5605),我的最终任务是检测物体并跟随它们(控制网络摄像机)...
我已经编写了Java代码,以希望使用openCV的方式检测对象...
现在我需要使用opencv从Java使用IP摄像机。
问题1)如何通过OpenCV检测IP摄像机?
问题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发送命令。