471,602 Members | 1,350 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,602 software developers and data experts.

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

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.

Jul 18 '05 #1
6 3256
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.

Hope that helps -- tAfkaks

--
(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
Jul 18 '05 #2
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.


<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/200203220...ips/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.

Jul 18 '05 #3

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

Jul 18 '05 #4
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

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

Jul 18 '05 #5
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 D 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.
<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/200203220...ips/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.


Jul 18 '05 #6
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
Jul 18 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

23 posts views Thread by Invalid User | last post: by
27 posts views Thread by Ron Adam | last post: by
reply views Thread by tim_vr | last post: by
8 posts views Thread by Raoul Borges | last post: by
10 posts views Thread by clueless_google | last post: by
2 posts views Thread by juan-manuel.behrendt | last post: by
6 posts views Thread by johnise78 | last post: by
16 posts views Thread by parag_paul | last post: by
23 posts views Thread by bearophileHUGS | last post: by
1 post views Thread by XIAOLAOHU | last post: by
reply views Thread by MichaelMortimer | last post: by
reply views Thread by CCCYYYY | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.