views:

51

answers:

5

Hi,

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 a FTP site. All of these tasks seem simple.

However, I am having a hard time to find a decent camera. I don't want to use a simple webcam or hd-webcam because the image quality of still frames isn't very good. I'm also having a hard time finding an affordable digital camera supporting 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 clue?

A: 

Regarding the camera, There are pretty good webcams that you can find, some with HD quality. look at the cameras on Logitech (I tested their API and it is quite good), A HD camera has a retail of $99 which is very cheap. If you are looking for something better I would go with Nikon as they also have a pretty good API for C#/C++. You can get a basic SLR with simple 28mm lens for $500. Don't use a PowerShot as Nikon stopped supporting their API. Whatever camera you decide to buy make sure a proper API is available, is being maintained and free.

Regarding development, I would go with C#/Java as they are easier than C++. There are quite allot of libraries for image processing for C#/Java, just make sure that the Camera comes with an API the fits your chosen language.

Good luck.

Gilad
A: 

Thanks for your information. I just started with a Canon a480 Powershot. There is a software called CHDK which allows you to set intervals taking pictures. Though I'm still trying to figure out how totransfer and process these pictures.

luedfe
You can use comments to comment on questions, the "add comment" link below each question.
Camilo Martin
A: 

Generally (from experience) most USB cameras that show up as an imaging 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 make development easier but expect to loose some performance [even with the best of optimizations]. Additionally you can only perform upto the speed of the camera and the data line running from the camera to the computer [USB1.0 will seriously limit a decent framerate]

monksy
A: 

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

or if thats difficult you can continuously copy the image to hard disk and load in RAM from there. (you need to take care (delete) of massive images accumulated on hard disk in a short period of time !)
This sounds like a 'brute force' approach, but will get your work going while you are researching correct approach.

perform image processing:
once the image is in RAM, you can apply your image processing algorithms as usual e.g. using opencv library.

hope this helps you

vijiboy
A: 

Sounds good. At the moment im Using a Eye-Fi Card to copy the pictures to a webserver. I would then process them via php and a cron-job..

thanks!

luedfe