[ros-users] Webcam Use

Homer Manalo homer.manalo at roboteknik.com
Thu Jan 6 01:22:31 UTC 2011


Thanks for the info Patrick, that would be a likely candidate beside the
webcam pro 9000. Eric, that was a very informative post. Now we have a
better understanding on the hardware we will get.

Thanks,
Homer

On Thu, Jan 6, 2011 at 6:06 AM, Eric Perko <wisesage5001 at gmail.com> wrote:

> Homer,
>
> Some numbers on using a webcam with my uvc_cam driver (they are a little
> fuzzy since it's been a while since I did the tests, but it should be about
> right). No changes to the driver were made between these tests, and all were
> running the same version of Ubuntu (64-bit unless it wasn't supported, like
> on the Core Duo). We were doing 640x480 @ 30fps and I believe had to do a
> YUYV to RGB conversion in the driver because the cameras did not support
> outputting RGB (though I can't recall if that is the Logitech Webcam Pro
> 9000 or these other crappy, no brand cameras we were using before the Webcam
> Pro 9000s).
>
> Anyways, the numbers:
>
> 1. Intel Core Duo, somewhere between 2.0 and 2.4 GHz (Mac Mini, circa
> 2006-2007): somewhere around 40% CPU per camera. Basically, what I remember
> was that we were gonna lose a whole CPU core to just a pair of cameras and
> that was unacceptable.
> 2. Intel Core 2 Duo, 2.0 GHz (IBM Thinkpad T61, circa 2007): about 10-15%
> CPU per camera.
> 3. Intel Core i7 920, 2.66GHz (Custom build, Summer 2009): very low usage,
> sometimes even showing up at 0% in the System Monitor. 5-8% tops when it
> does show up.
>
> As you can see, for whatever reason, the Core 2 kicks the crap out of the
> Core Duo. 64-bits vs 32-bits, extra SSE voodoo, better USB drivers on the
> T61 than the Mac Mini, who knows why? Anyways, definitely something to think
> about. Also, any webcam that you can use in an RGB mode as opposed to YUYV
> where the driver is going to have to spend time converting from YUYV to RGB
> will be good.
>
> That said, we've been quite happy with the Webcam Pro 9000s. Let me know if
> you have any other questions about it. I'm including the console output of
> guvcview, which lists the different image sizes and 1/FPS pairs that the
> camera clams to support in different modes (MJPG or YUYV in this case), in
> case anyone wonders about that and doesn't have a Webcam Pro 9000 on hand to
> find out :)
>
> Hope that helps.
>
> - Eric
>
> guvcview console output:
>
>> video device: /dev/video0
>> /dev/video0 - device 1
>> Init. UVC Camera (046d:0809) (location: usb-0000:00:1d.7-5)
>> { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
>> { discrete: width = 640, height = 480 }
>>  Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 160, height = 120 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 176, height = 144 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 320, height = 240 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 352, height = 288 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 640, height = 360 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 640, height = 400 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 768, height = 480 }
>> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 800, height = 456 }
>> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 800, height = 504 }
>> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 800, height = 600 }
>> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 864, height = 480 }
>> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 960, height = 720 }
>> Time interval between frame: 1/15, 1/10, 1/5,
>> { discrete: width = 1280, height = 720 }
>> Time interval between frame: 2/15, 1/5,
>> { discrete: width = 1280, height = 800 }
>> Time interval between frame: 2/15, 1/5,
>> { discrete: width = 1600, height = 904 }
>> Time interval between frame: 1/5,
>> { discrete: width = 1600, height = 1000 }
>> Time interval between frame: 1/5,
>> { discrete: width = 1600, height = 1200 }
>> Time interval between frame: 1/5,
>> { pixelformat = 'MJPG', description = 'MJPEG' }
>> { discrete: width = 640, height = 480 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 160, height = 120 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 176, height = 144 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 320, height = 240 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 352, height = 288 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 640, height = 360 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 640, height = 400 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 768, height = 480 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 800, height = 456 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 800, height = 504 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 800, height = 600 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 864, height = 480 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 960, height = 720 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 1280, height = 720 }
>> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 1280, height = 800 }
>> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,
>> { discrete: width = 1600, height = 904 }
>> Time interval between frame: 1/10, 1/5,
>> { discrete: width = 1600, height = 1000 }
>> Time interval between frame: 1/10, 1/5,
>> { discrete: width = 1600, height = 1200 }
>> Time interval between frame: 1/10, 1/5,
>> checking format: 1196444237
>> VIDIOC_G_COMP:: Invalid argument
>>    compression control not supported
>> vid:046d
>> pid:0809
>> driver:uvcvideo
>> Adding control for Pan (relative)
>> Adding control for Tilt (relative)
>> Adding control for Pan Reset
>> Adding control for Tilt Reset
>> Adding control for Pan/tilt Reset
>> Adding control for Focus (absolute)
>> mapping control for Pan (relative)
>> mapping control for Tilt (relative)
>> mapping control for Pan Reset
>> mapping control for Tilt Reset
>> mapping control for Pan/tilt Reset
>> mapping control for Focus (absolute)
>> mapping control for LED1 Mode
>> mapping control for LED1 Frequency
>> mapping control for Disable video processing
>> mapping control for Raw bits per pixel
>
>
>
> On Wed, Jan 5, 2011 at 12:00 PM, Patrick Goebel <
> patrick at casbs.stanford.edu> wrote:
>
>> Hi Homer,
>>
>> I have had several years of good experience with the Philips SPC1300NC
>> both under Windows using RoboRealm and now more recently under
>> Ubuntu+ROS using Eric Perko's uvc_cam package (git clone
>> https://github.com/ericperko/uvc_cam.git) and OpenCV.  I haven't done
>> any benchmarking under Linux but under Windows I was getting as high as
>> 80 fps at 160x120 resolution and manual exposure.
>>
>> --patrick
>>
>> On 1/5/2011 6:53 AM, Homer Manalo wrote:
>> > Thanks! Anyone had used Philips SPC1300NC or a creative webcam?
>> >
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20110106/af1be6bb/attachment-0003.html>


More information about the ros-users mailing list