Need help loading Axis Camera feed in Java

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.