Re: GSoC Status Report: Vision Processing

2008-06-30 Thread Seth Woodworth
Nirav,

I found your project only early this morning and am fascinated with your
progress thus far.  I will be following your developments eagerly.  Also, I
will be informing some of the other interest at the office about your work
and see if any collaboration comes of it.

Seth

On Thu, Jun 26, 2008 at 4:07 AM, Nirav Patel [EMAIL PROTECTED] wrote:

 As you may know, OLPC got GSoC students again this summer.  I am one
 of them, and my project is Vision Processing.  That is, a library to
 use the webcam for more than capturing images.  I am implementing this
 by adding v4l2 and computer vision functions to pygame.

 My code is available at http://git.n0r.org/?p=pygame-nrp;a=summary and
 is currently pygame 1.8.1 with the addition of a camera module that
 supports v4l2 cameras that use MMAP and have pixelformats of RGB24,
 RGB444, YUYV, SBGGR8, or YUV420.  Basic usage is as follows:

 import pygame
 from pygame import camera

 cam = camera.Camera(/dev/video0, (640, 480), RGB)  # the third
 argument can be YUV or HSV too.
 cam.start()
 frame = cam.get_image() # the frame returned is a 24bit pygame Surface

 You can also do fun stuff like:
 http://eclecti.cc/bytes/living-pointillism-a-pygame-webcam-script
 or more practical stuff like having it track the centroid of a
 specific hue (green in this case): http://eclecti.cc/files/centroid.py

 My plans are to add functions like finding the largest connected
 component, optical flow, and other things useful for computer vision.

 Currently, performace is pretty poor on the XO; a combination of the
 Geode being slow and having to convert from 24bit to 16bit surfaces to
 display any captured frames.  The XO is fast enough to capture and
 blit a 320x240 RGB frame at 30fps, but not at 640x480 or a frame being
 converted to HSV.  I'm not sure how or if I'm going to be able to
 overcome those performance problems.

 I'd appreciate any comments, suggestions, or reality checks on
 improving performance or anything else, or any requests for vision
 functions to add.  Also, I only have the camera in the XO, vivi, and a
 poorly supported USB webcam, so if anyone could test it on other
 webcams, that would be great.

 Thanks,

 Nirav Patel
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


GSoC Status Report: Vision Processing

2008-06-26 Thread Nirav Patel
As you may know, OLPC got GSoC students again this summer.  I am one
of them, and my project is Vision Processing.  That is, a library to
use the webcam for more than capturing images.  I am implementing this
by adding v4l2 and computer vision functions to pygame.

My code is available at http://git.n0r.org/?p=pygame-nrp;a=summary and
is currently pygame 1.8.1 with the addition of a camera module that
supports v4l2 cameras that use MMAP and have pixelformats of RGB24,
RGB444, YUYV, SBGGR8, or YUV420.  Basic usage is as follows:

import pygame
from pygame import camera

cam = camera.Camera(/dev/video0, (640, 480), RGB)  # the third
argument can be YUV or HSV too.
cam.start()
frame = cam.get_image() # the frame returned is a 24bit pygame Surface

You can also do fun stuff like:
http://eclecti.cc/bytes/living-pointillism-a-pygame-webcam-script
or more practical stuff like having it track the centroid of a
specific hue (green in this case): http://eclecti.cc/files/centroid.py

My plans are to add functions like finding the largest connected
component, optical flow, and other things useful for computer vision.

Currently, performace is pretty poor on the XO; a combination of the
Geode being slow and having to convert from 24bit to 16bit surfaces to
display any captured frames.  The XO is fast enough to capture and
blit a 320x240 RGB frame at 30fps, but not at 640x480 or a frame being
converted to HSV.  I'm not sure how or if I'm going to be able to
overcome those performance problems.

I'd appreciate any comments, suggestions, or reality checks on
improving performance or anything else, or any requests for vision
functions to add.  Also, I only have the camera in the XO, vivi, and a
poorly supported USB webcam, so if anyone could test it on other
webcams, that would be great.

Thanks,

Nirav Patel
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel