473,386 Members | 1,621 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 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 3376
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

23
by: Invalid User | last post by:
While trying to print a none empty list, I accidentaly put an "else" statement with a "for" instead of "if". Here is what I had: if ( len(mylist)> 0) : for x,y in mylist: print x,y else:...
27
by: Ron Adam | last post by:
There seems to be a fair amount of discussion concerning flow control enhancements lately. with, do and dowhile, case, etc... So here's my flow control suggestion. ;-) It occurred to me (a...
0
by: tim_vr | last post by:
I have a number of pages that are cross linked from 2 different menus. menu 1 : 1,2,3,4,5,cup menu 2 : 11,12,13,14,15,cup the cup page will be accessed from both but I need the original menu...
8
by: Raoul Borges | last post by:
Hi! I have a simple IF/ELSE IF/ELSE block, and it won't work as I hoped: K_IMG_RED(), K_IMG_BLUE() are function that returns either 1 or 2 (the numbers). I use them as constants. ...
10
by: clueless_google | last post by:
hello. i've been beating my head against a wall over this for too long. setting the variables 'z' or 'y' to differing numbers, the following 'if/else' code snippet works fine; however, the ...
2
by: juan-manuel.behrendt | last post by:
Hello together, I wrote a script for the engineering software abaqus/CAE. It worked well until I implemented a selection in order to variate the variable "lGwU" through an if elif, else...
13
by: birdboy272 | last post by:
I would be cool if I could develop a 3 by 3 grid that all row, column and diagonals adds up to 15, using numbers ranging from 1 to 9. When click the "check sum button" this application should Sum...
6
by: johnise78 | last post by:
I have looked over this program numerous of times and cant seem to get it running, can some one please guide me in the right direction. My error information is AnnualSalary.java:33: ' ) ' expected...
16
by: parag_paul | last post by:
if ((type == vhpiCompInstStmtK) || (type == vhpiRootInstK)) if (reason) *reason = "Object is a scope"; else if (reason) *reason = "object is not writable"; Here the else will be treated as...
23
by: bearophileHUGS | last post by:
So far in Python I've almost hated the 'else' of the 'for' loops: - I have problems to remember its meaning; - It gives me little problems when I later want to translate Python code to other...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

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.