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

N

Newbie

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.

Any help from either comp.robotics.misc or c.l.p would be helpful.
Thanks in advance,

Jake.
 
T

The Artist Formerly Known as Kap'n Salty

Newbie said:
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.

Hope that helps -- tAfkaks
 
M

Matt D

Newbie said:
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.

<snip>

Same for me! From what I can tell, a cheap webcam will "just work" with
a recent version of windows - i.e. plug it in using USB and then you can
have programmatic access to the data and grab frames very easily. This
setup works fine with my digital camera working as a webcam - real £10
webcams should be the same. Not sure what Linux compatibility is like
these days - for that I know for a fact that the Hauppauge USB WinTV
thing works (or at least the hardware version I have works) with Linux.

For linux I found this (now on the wayback archive - original page is
now 404):
http://web.archive.org/web/20020322....jp/naoyuki.ichimura/research/tips/v4ln_e.htm

Hopefully that is some help.

Oh by the way, speed on a modern machine shouldn't be an issue - my
badly written prototype in visual basic of all things (dont laugh -
seemed like a good idea at the time!) was tracking a single coloured
object reliably at significantly greater than 30fps (it automatically
altered the window it searched in based on size and amount of movement
of the object - at times it was approaching 100fps) on a modest by
today's standards 1.4ghz pc, using a 320x240 stream.
 
J

JGCASEY

The said:
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
 
M

M.E.Farmer

JGCASEY said:
try cards

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
Ever do search on Google?
This was number 1 and 2 ;). I searched for "python video capture".
I have used this module and it works well, it also has a really nifty
ftp uploader demo script.
http://videocapture.sourceforge.net/

hth,
M.E.Farmer
 
N

Newbie

Folks:

here is a small summary:

For Linux based system, xawt seems to be the solution:
http://linux.bytesex.org/xawtv/
where one can get access to the stream from any device that has a video
output.

For win32, it looks like the solution is this:
http://videocapture.sourceforge.net/
where one has to use the python programming language.

Great help, thank you all,

Jake.


Matt said:
<snip>

Same for me! From what I can tell, a cheap webcam will "just work" with
a recent version of windows - i.e. plug it in using USB and then you can
have programmatic access to the data and grab frames very easily. This
setup works fine with my digital camera working as a webcam - real £10
webcams should be the same. Not sure what Linux compatibility is like
these days - for that I know for a fact that the Hauppauge USB WinTV
thing works (or at least the hardware version I have works) with Linux.

For linux I found this (now on the wayback archive - original page is
 
T

The Artist Formerly Known as Kap'n Salty

JGCASEY said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,733
Messages
2,569,439
Members
44,829
Latest member
PIXThurman

Latest Threads

Top