[pygame] gsoc midterm report for the camera module

2009-07-17 Thread el lauwer


Midterm report
##

With the midterm evaluation behind us I thought it would be useful to  
post a update

on the progress on the camera module for Mac OSX. The current version on
github.com/ab3/pygame-mirror/ can read a frame from the camera and  
copy it to
the surface. There is still something wrong with the colors, this has  
probably
something to do with the masks in surf-format. I have tried out some  
combination
but non seem to work, so if you have suggestion on how to get the  
colors write pleas

post them on the pygame mailinglist.

I have thoroughly cleaned up the camera_mac.m file and have removed  
all Cocoa
code because it caused to many problems. Only the  
mac_gworld_to_nsimage used
Cocoa so I didn't have to trow away too much code. The following  
functions are now

available:
* mac_list_cameras()
* mac_open_device ()
* mac_init_device()
* mac_close_device()
* mac_start_capturing()
* mac_stop_capturing ()
* mac_read_raw()
	note: When I try to print the string I get nothing, this is probably  
because

of a \0 byte in the array.
* mac_read_frame()
* mac_camera_idle()
* mac_copy_gworld_to_surface()
note: There is something wrong with the colors.

The PyCameraObject strct has altered a bit because I don't use a  
ImageSequence
anymore because it was easier to get the frame copy the frame directly  
instead of
recording a frame into a sequence and then decompressing a frame out  
of it. In
addition to removing the ImageSequence I make use of the buffer  
struct. Here is the

current PyCameraObject struct:
typedef struct {
PyObject_HEAD
char* device_name;  // unique name of the device
SeqGrabComponent component; // A type used by the  
Sequence Grabber API
SGChannel channel;  // Channel of the Sequence  
Grabber
GWorldPtr gworld;   // Pointer to the struct that  
holds the

// data of the captured image
Rect boundsRect;// bounds of the image frame
long size;  // size of the image in our  
buffer to draw

short bytes;// number of bytes in gworld
struct buffer pixels;   // pixels
} PyCameraObject;

A usual you can find the latest version on github.com/ab3 so if you  
would like to test
the latest changes or would like to help with the color problem or the  
read_raw function,

you are always welcome.

ToDo

Here is a list of thing I still have to finish I still have to do:
* fix the colors of read_frame()
* fix read_raw()
* implement set_controller() and get_controller()
* add simple computer vision stuff
* thresholding with hysteresis
*...
* optimization, sbggr8_to_rgb???
* implement proof of concept game...

Conclusion
==
So this concludes my midterm report, feel free to post any bugs,  
comments and

suggestions

Slu


Re: [pygame] gsoc midterm report for the camera module

2009-07-17 Thread Nirav Patel
I don't have anything running OS X to test it on, but it is possible
the colors are in a different order.  (BGR vs RGB).  Try pointing the
camera at a test pattern and seeing if any colors are switched.
http://en.wikipedia.org/wiki/File:SMPTE_Color_Bars_16x9.svg

Nirav

On Fri, Jul 17, 2009 at 10:09 AM, el lauwerel.lau...@gmail.com wrote:

 * mac_copy_gworld_to_surface()
        note: There is something wrong with the colors.