[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] GSOC: Extending Camera support for PyGame to Mac OSX Updates!



Excellent.  Making your code available as you work on it is a great
idea, especially for something like this that needs to be tested on a
wide range of hardware.

About pattern recognition, something like face recognition is probably
too heavy for pygame purposes and would be better suited for pyehci or
opencv-python.  However, extending some of the basic computer vision
stuff would certainly be useful, like higher or even arbitrary moments
[0] in masks, thresholding with hysteresis, hole detection in masks, a
mask to surface function, etc.

Nirav

[0] http://en.wikipedia.org/wiki/Moment_(mathematics)

On Thu, Apr 9, 2009 at 11:44 AM, el lauwer <el.lauwer@xxxxxxxxx> wrote:
> Hoi,
>
> I recently posted my proposal for GSOC to socghop. There where some comments
> about the content, so I have updated my proposal, and hereby posted it to
> this mailing list so guys can comment further on my proposal...
>
>
> Rene Dudfield maid the following remark about my original proposal:
>
> "
> Also a section on user testing would be good.  Where you ask others to
> download pygame to run your tests - to make sure it works ok with their
> computer/camera.
>
> Finally a change in your proposal to seek feedback from the community on
> what changes you will do after the osx stuff is finished would be good.
>  Since I have a feeling that you should have some time left over at the end.
> "
> I am planning to make a branch of my code available on github.com so
> everybody who like can follow my daily work on the project.
> Later on in the project I intend to make some blog post about my work and
> post them on reddit.com/r/python, reddit.com/r/mac,
> pygame ML and other communities so people can test my code. I have 2 mac at
> home and know some other people with macs who
> would be willing to test out my work.
>
> Pattern recognition is a complicated subject, But I think that it would be a
> good thing if there where some basic pattern recognition
> included like a steering wheel or a face. This would allow any gygame
> programmer to use this feartues in there game without any
> additional work. A possible interesting project to experiment with could
> be http://code.google.com/p/ehci/wiki/pyehci
>
> If you have any suggestions, remarks or questions please comment.
>
> original
> proposal: http://socghop.appspot.com/student_proposal/show/google/gsoc2009/abe/t123872941171
> updated
> proposal: http://socghop.appspot.com/document/show/user/abe/gsoc_updates
>
>
> =====================================================================
>
> Updated proposal:
>
> Instructions
>
> Start by getting in contact with the mentor(s) familiar with your proposed
> project.  They will help you polish your proposal and introduce you to the
> developer team you'd be working with over the Summer.
>
>
>
> Summary:
>
> Nirav Patel has recently implemented camera support into pygame as a way to
> interact with a game. However, this camera module is limited to the Linux
> platform. The goal of my project is to extend this camera module to the Mac
> OSX platform, and thus extending the portability of games written in pygame
> that use a webcam as mean to interact with the player.
>
> I will be using the OSX QiuckTime multimedia framework to work with the
> camera. The camera module shall be implemented in C as a python extension.
> It is my intension to fully port the capabilities of the existing camera
> module. If there are any existing capabilities in the QT Isight framework,
> that could be useful to have in the pygame module, I will make these
> available by writhing a wrapper around them.
>
> I will use pyobjc to experiment during the project. For the final code I
> will use objc and C wrappers,since pyobjc is no longer used in
> pygane.
>
> When I am finished implementing the camera module for OSX, I will work on
> optimizing the existing code, like optimizing the sbggr8_to_rgb function.
> Ather this I will write documentation and a simple game to demonstrate the
> capabilities.
>
> I am planning to make a branch of my code available on github.com so
> everybody who like can follow my daily work on the project.
> Later on in the project I intend to make some blog post about my work and
> post them on reddit.com/r/python, reddit.com/r/mac,
> pygame ML and other communities so people can test my code. I have 2 mac at
> home and know some other people with macs who
> would be willing to test out my work.
>
> Pattern recognition is a complicated subject, But I think that it would be a
> good thing if there where some basic pattern recognition
> included like a steering wheel or a face. This would allow any gygame
> programmer to use this feartues in there game without any
> additional work. A possible interesting project to experiment with could
> be http://code.google.com/p/ehci/wiki/pyehci
>
> Schedule:
>
> I intent to work about 42 hours a week on the project
>
> April:
> Third week: study the camera implementation in linux version and see which
> methods must me re-implemented for OSX.
> Fourth week: Read about things like the SequenceGrabber from the QT api.
>
> May
> First week: make simple python extension in C to get familiar with the
> concept. Read more doc about python extensions.
> Second week: Implement simple app that grabs images from the camera with the
> QT SequenceGrabber API in C (obj-C). this is to get a good feeling with the
> QT api.
> Third week: start coding on the project, implement the ‘list_cameral’
> function and open_device, …
> Fourth week: write functions that deal with the controllers…
>
> June
> First-third week: implement rest of the functions
> Fourth week: write wrapper around some additional functionality that the QT
> framework provides that isn’t in the existing module. I will probably use
> pyobjc for this.
>
>
> July
> First week by now, most camera functions must be implemented. Start
> debugging and testing
> Second week: write a better sbggr8_to_rgb function and other optimization
> that aren’t yet implemented in the existing camera module.
> Thrid week: more optimization and testing/debugging.
> Fourth week: write simple game to demonstrate functionality, and get people
> exited about the result.
>
> August:
> First week: write documentation and tut explaining how I made the game. Tie
> up lose connections
>
> About Me:
>
> I am a 20 year old student from belgium, and I am currently studying applied
> computer science at the "Hogeschool Gent". I first became interested in
> programming at the age of 16 while programming in Turbo Pascal. I spend a
> lot of my free time coding and reading about related topics. My interest in
> the field of computer science range from web security, visual user
> interaction, low level programming, … I enjoy programming in both Python and
> C because both language are elegant and don’t get into your way. Other
> interests of mine include, but are not limited to films, music, poker and
> reading.
>
> I speak fluent Dutch and English
>
> I have GOOD knowledge/experience with the following programming languages:
>
>    * Python
>    * C
>    * C++
>    * Object-C
>    * Java
>    * SQL
>    * (X)HTML/CSS
>
> and MEDIUM knowledge/experience with the following programming languages:
>
>    * JavaScript
>    * Bash
>    * sed, awk
>
> I have the following (relevant) skills:
>
>    * Algorithms: sorting, searching, image filters, ...
>    * Lineare algebra
>    * Data structures: lists, maps, sets, ...
>    * Web security: sql-injection, code/file injection, XSS, ...
>
> Here is a list of things I have coded, including some small pygames:
>
>    * Statistical visualization of combination of enzymes in DNA: Java, GUI,
> SWING, MVC, OOP, XML
>    * Monopoly Game: Java, GUI, SWING, MVC, OOP
>    * Managing application: Java, GUI, SWING, SQL, MVC, OOP
>    * Image filters: C/C++, OOP, Templates
>    * Sniffer: C, pcap
>    * Simple chat-client and server: C, pthreads
>    * Poker odd calculator with GUI (work in progress): C, Object-C, Reverse
> Engineering
>    * Small IRC bot: Python
>    * Sniffer: Python (reimplementation of the C one)
>    * Blog engine: Python, Django, Web
>    * Simple Blind SQL-injector (ugly script :P): Python, SQL, Web Security
>    * a lot of small python scripts to do think with text, web, ...
>    * Tetris: just Tetris (pygame)
>    * Square vs Circle: You control a circle with your mouse, and must try to
> place this circle in
>      a square without hitting one of the bouncing circles. If you succeed,
> you must try again, but
>      this time with an extra circle. (pygame)
>    * Divide and conquer: There is an amount of an always increasing number
> of bouncing balls. You
>      Must try to drive the balls into a corner by drawing lines until you
> have filled 70% of the
>      screen. (pygame)
>    * Balls of steel: similar to the above, with the difference that you must
> draw balls
>      by holding down the right mouse key, the longer you press the bigger
> the ball.(pygame)
>