So I’m trying to do a little vision project and I’m stuck at how to import the live camera feed into java run on eclipse Kepler. I have OpenCV and, wpilib installed correctly. I can’t get the Axis Camera “location” to work, (note I’m not using wpilib workspace at all, I made a project folder with openCV)
I have the Camera’s IP set to 192.168.0.90 and it works on a web browser,
However I don’t know how to initialize the camera correctly in java
Any help would be welcomed.
We have some Java code available on github that provides some examples of opening a video feed using the OpenCV methods.
The project can be found at:
In particular the FrameGrabber.java class (https://github.com/frc868/2016-Vision/blob/master/src/com/techhounds/imgcv/FrameGrabber.java).
- The open(String url, int devId, int width, int height) method demonstrates the OpenCV methods we use to connect to the video capture device.
- The run() method within the CaptureThread class (also in FrameGrabber.java) demonstrates opening and reading in frames.
We did find that determining the correct URL for cameras was a bit tricky. For the Axis M1103 at IP 10.8.68.11, we ended up using:
http://10.8.68.11/mjpg/video.mjpg
This seemed to have lower latency than using the H264 encoding available at:
rtsp://10.8.68.11:554/axis-media/media.amp?videocodec=h264
Finally, setting up your OpenCV environment can be tricky. If the necessary libraries aren’t found, you can easily find yourself in a situation where you can grab still images just fine from the camera just fine, but are unable to grab a live stream.
Hope that helps.