Automated webcam applications / hardware issues

I am starting to develop an automated webcam application. The goal is to automatically take pictures, do some image processing, and then upload the results to an FTP site. All of these tasks seem simple.

However, it’s hard for me to find a decent camera. I do not want to use a simple webcam or hd-webcam because the image quality of still frames is not very good. It’s also hard for me to find an affordable digital camera that supports USB snapshot or control.

My second concern is the development itself. I'm not quite sure which programming language to use. I have experience with AS3, Processing, Java, and some simple C ++ and Open CV.

Do you have a key?

+4
source share
3 answers

As for the camera, there are some pretty good webcams you can find, some with HD quality. look at the cameras on Logitech (I tested their API, and that’s not bad), the HD camera has a retail price of $ 99, which is very cheap. If you are looking for something better, I would go with Nikon, as they also have a nice API for C # / C ++. You can get a basic SLR with a simple 28mm lens for $ 500. Do not use PowerShot because Nikon is no longer supporting the API. No matter which camera you decide to buy, make sure that you have the appropriate API that is supported and provided free of charge.

As for development, I would go with C # / Java, as they are simpler than C ++. There are quite a few image processing libraries for C # / Java, just make sure the camera comes with an API that matches your language of choice.

Good luck.

+1
source

In most cases (from experience), most USB cameras that display as a display device through Windows can be used with JAI [Java Advanced Imaging]. Additionally [on the .net / C ++ side] the same cameras can be used through DirectShow as a capture device. Java / C # will simplify development, but expect performance degradation [even with optimal settings]. In addition, you can only perform up to the speed of the camera and the data line coming from the camera to the computer [USB1.0 will seriously limit the decent frame rate]

0
source

first get the image in RAM:
If you use CHDK, I suggest you get the image copied from the camera’s memory to RAM using the supported CHDK scripting languages ​​- you can use the help of the CHDK forum http://chdk.setepontos.com/index.php for this.

or if it is difficult, you can constantly copy the image to the hard drive and load it into RAM. (you need to take care (delete) massive images stored on your hard drive in a short period of time!)
This sounds like a brute force approach, but will work while you research the correct approach.

perform image processing:
as soon as the image is in RAM, you can apply image processing algorithms, as usual, for example. using the opencv library.

hope this helps you

0
source

All Articles