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.lau...@gmail.com> 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) >