Yishi's Blog

All about my Google Summer of Code project

Archive for August, 2011

Google Summer of Code Final Result

with 2 comments

During the three months programming´╝îwe have made great achievement on CCV. The former CCV can not support multi-cam, then I made a proposal and code for that purpose.

I wrote 3 projects as follows:

Project PS3Capture is the first project which is mainly used to test the function of PS3 Eye camera. I have got a better understanding of PS3 Eye programming and the related method of API through this program. Meanwhile, the logic of camera select function has been test as well.

Project videoInput_GUID is based on the source code of videoInput and has been recompiled, using the DevicePath to identify cameras. I added the DevicePath getting function of the certain camera. You can get the DevicePath parameter by camera ID, and vice versa.

Project CCV_Select_Camera is my major contribution to CCV. In this project, I designed a new UI for camera selection and some new controls (for example: ofxGuiGrid for cameras grid display or selection, ofxGuiImage for camera frame display, ofxGuiLabel for text display, ofxGuiArrow for camera list selection just like a arrow button). I also wrote the background class named CamsUtils for camera control. You can use it for loading or saving XML settings and getting the camera’s parameters and settings.

Mutli-cams selection interface preview

What I have done

  • Read through the CCV 1.4 source code, learned the CCV’s background theories;
  • Learned how to get the frames of PS3 Eye multi-cams;
  • Designed the new multi-cams selection GUI;
  • Built up the multi-cams selection background logic;
  • Built up the ofxDShow class which can capture the DirectShow based cameras’ frame.

Contribution to CCV 1.5

  • New interface for multi-cams selection;
  • Some ofxGui control classes for cameras display and/or control;
  • ofxDShow class for DirectShow based camera data capturing;
  • Modified videoInput library for other people reuse.

Advices for the students in the future

I think the students should communicate with their group more frequently. Also the students should make a good proposal with the more accurate timeline.


  • Thanks for my patient and dear mentor: Anatoly Churikov. For his great help about my work and my code.
  • Thanks for the NUI Group administrator: Christian Moore. For his great help about the GUI designs and other things.
  • Thanks for Junbo Zhang. For his great help about my code and other things.
  • Thanks for my family and friends, for their attentive care when I was sick.

Written by e10101

August 27th, 2011 at 2:35 am

Posted in Uncategorized