Communication with IP cameras


Recommended Posts

Yes and no. There is no built in support for IP cameras, mostly because every manufacturer does it differently, so there is no good standard, however, there is support for images data types (namely 2 dimensional arrays). So, to get it working you'd have to use the extern() statement to bring functions from the DLL provided by your camera manufacturer into DAQFactory. Its a little tricky because the image comes in as a 1 dimensional array and has to be transposed, but definitely can be done. I have actually done this myself for a customer in Australia.

The image component will actually render an array of RGB values as an image, so you can see the thing in DAQFactory. The only limitation is that you won't get high frame rates. The most you'd get is maybe 1 or 2 frames a second. However, you can do analysis on the pixels, and do other math on it.

Link to comment
Share on other sites

The camera type is M12D-Cameras DualNight (Security) from Mobotix and i intend to use it to monitor the speed of vehicles on a highway. I just need to process small amount of pixels in the center of the image to see the color changes. First i need to know if the cameras can be interfaced with DAQFactory, if the driver is supplied ,for me to decide whether to use DAQFactory or Other SoftwareTools.

Link to comment
Share on other sites

As I said, we won't have a driver for any IP camera because every one is different. They should provide a DLL for communicating with the camera, and you can call into that DLL from DAQFactory to retrieve your images. Once in DAQFactory, you should be able to easily do the processing you describe.

Link to comment
Share on other sites

Our IP cam is just a readily available retail kind, and it's really just taking a bunch of pictures and saving them to our hard drive...

Then this works for me through daq factory to view the "latest picture" stored on my drive in a symbol component -

Component.IPCamera01.LoadJPEG("C:\camera1.jpg")

I guess you could make a loop with a delay of some sort to "refresh" the image.

Hope this helps. :)

Link to comment
Share on other sites

Oh yea, I did try to make a new ethernet / serial device to attempt to communicate with my IP cams..

When I would send strange data to it, it would reply with incorrect header, or something along those lines...

I just didn't know the "language" of the camera to communicate correctly with it. :)

Link to comment
Share on other sites

Good ideas, but loadJpeg isn't going to get an image you can actually process (i.e. look at pixel by pixel in script). As for connecting using DAQFactory Ethernet, as I said, its all proprietary. Even if you browse to the camera, its either going to want a plugin, or is going to return jpeg's, again non-processable from script. In order to get images into DAQFactory that are processable, you have us the DLL provided by the manufacturer (if any). As I've said, it can be done. You just need a function that returns an array of pixels.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.