web camera or else ? 15-30 fps processing of camera videos.

The Artist Formerly Known as Kap'n Salty mikey666 at 666swampgas.666com
Wed Feb 2 09:54:08 EST 2005


JGCASEY wrote:
> The Artist Formerly Known as Kap'n Salty wrote:
> 
>>Newbie wrote:
>>
>>>I am doing some robotics projects but my main area of interest is
>>>trying out several algorithms for the processing of the stream of
> 
> data
> 
>>>coming from the video.
>>>
>>>I am wondering what type of camera I should invest in. Either I
> 
> could
> 
>>>buy a web cam and hope I can find a driver I could either modify or
>>>use. i.e. every frame is somehow stored on the computer
> 
> automagically
> 
>>>or I could buy a camera not unlike the AVRcam
>>>(http://www.jrobot.net/Projects/AVRcam.html) or the CMUcam and try
> 
> to
> 
>>>do the processing once the data has been streamed to the nearest
>>>computer ? or should I use an expensive video card, some CCTV
> 
> camera
> 
>>>and a frame grabber to digitize photos so they can be processed
>>>afterwards. I expect my processing algorithms to handle at least 15
>>>frames per second framerate once they are working ont the final
> 
> set-up.
> 
>>>My constraints are that I would like to avoid as much as possible
>>>complex set-ups even if that means buying a more expensive camera
>>>set-up. For the prototyping, I would like to try my algorithms out
>>>using a combination of python and matlab (all very slow) and then
>>>expect the same architecture (image files location and flow) with
>>>speedier set-up like python+psyco or C. All the processing would be
>>>done on a computer dedicated for that. Windows or Linux are
> 
> possible.
> 
>>An easy approach to this is to use a wireless camera on your robot,
> 
> with
> 
>>the receiver attached to a frame grabber on a remote host. This
> 
> allows
> 
>>you your choice of camera (stand alone video transmitters are widely
>>available), and you are not limited to only processing hardware you
> 
> can
> 
>>carry on board your robot. You also get full FPS. Frame-grabber cards
> 
> 
>>are inexpensive and widely available for both Windows and Linux.
> 
> 
> I wanted to go down that path but cannot get
> information on how to access the images from
> the tv receiver card in real time using my
> own software.
> 
> Do you use Java?
> 
> John Casey
> 

I do, but not for image processing. There IS a multi-media SDK out there 
for java that handles video capture -- google should help you out here 
(I can't recall the site). I'm not entirely sure how mature it is. I 
looked a couple of years back and decided to avoid it. It likely does 
not support all platforms, since video capture drivers vary a good bit 
by platform. This all may have changed, however.

On Windows, you'll use DirectShow (part of DirectX) to get incoming 
frames. There's also the deprecated VFW (Video for Windows).

On linux, there's Video for Linux.

In either case, the APIs are not difficult to use. You should never have 
to access the hardware directly.

Note that whether you get the video from a webcam or framegrabber, the 
APIs are the same. I've actually abstracted some of the DirectX stuff 
out to the point that I can get frames from a video file *or* a camera 
the same way.

-- 
(Replies: cleanse my address of the Mark of the Beast!)

Teleoperate a roving mobile robot from the web:
http://www.swampgas.com/robotics/rover.html



More information about the Python-list mailing list