PSPuht v1.2.0


File Name psphut_v120.zip
File Type ZIP
Developer Unknown
Operating System PSP
File Size 1.67 MB
Created 07/23/2010
Updated 07/23/2010
Downloads 606 times
Download time  
Modem: 4 min
ISDN: 2 min
DSL: 0 min 9 sec
CABLE: 0 min 6 sec
T1: 0 min 3 sec

PSPuht v1.2.0
Rating: 4.00/5.00
Rated by: 2 users
Rate it:
Please scroll down for the download button and more file information.

Download!
File Description

Homebrew coder Mcidclan has released a new version of PSPuht, development library for upcoming developers that lets you add head and hand-tracking features to your homebrew projects using the PSP Go!Cam.

How it works:
PSPuht is based on image processing. Basicaly, it identifies pixels values probably belonging to skin color. This, in order to define a monochrome cloud corresponding to the tracked entity. Then, it evaluates the cloud position.

How to use it:
3 pspgu exemples are provided in the same archive in the library. Warning. For better results while using software working with this library, please, be aware of the following recommendations :

1. Use in a place, well lit by white light
2. Stand back to a white clean wall
3. Wear monochrome clothing, white or gray
4. For head-tracking, wear Turtleneck
5. For hand-tracking, wear long sleeves

 

PSPuht for PSP ultimate head/hand tracker. Library documentation – v1.2.0

/**
* Create the ultimate head/hand tracker
*/

Uht();

//New stuff – v1.2.0

/**
* Apply grids of pixelization on the cloud.
* The grids allows the elimination of parasites.
*
* For all of grids, you need to give the cell size and
* a tolerance relating to the pixels outside the cloud.
*/

void setGrid(const u8 gSize, vec3i *grids);


/**
* Define the minimum pixels quantity in the cloud
* (corresponding to the tracked entity)
*
* minimun quantity on x, minimun quantity on y
*/

void setMinDim(u8 xMin, u8 yMin);

//New stuff – v1.2.0

/**
* You can define a maximun pixels quantity accepted
* between the differents parts of the cloud
*
* maximun quantity on x, maximun quantity on y
*/

void setMaxMrg(const u8 xMrg, const u8 yMrg);

//New stuff – v1.2.0

/**
* Set the Ycbcr threshold type.
*
* Aivalables types are :
* YCBCR_RESTRICTIVE_THRESH
* YCBCR_APPROPRIATE_THRESH
* YCBCR_PERMISSIVE_THRESH
*/

void setYcbcrThresh(u8 threshNum);


/**
* Init the camera and the corresponding video thread.
* Pass thread’s priority as argument
*/

int initCam(u8 prop = 0×10);


/**
* In the case of direct rendering, (without applying the medium filter)
* the fist parameter must be a pointer on an allocation of 0×22240 bytes
* Else, it must be an allocattion of 0×34E40 bytes.
*
* The second parameter indicates if we use the direct rendering.
* The last parameter indicates if the FB_565 buffer shall be used or not.
*/

void initBuffer(void *bWork, bool dRender, bool fb565);


/**
* In all case, it correspond to the camera stream.
*/

u32 *FB_MPEG;


/**
* RGBA Buffer (32 bits)
*
* if we are not in direct rendering, the medium filter is applied
*/

u32 *FB_8888;


/**
* RGB_565 buffer (16 bits)
* Unable if fb565 is true.
*
* if we are not in direct rendering, the medium filter is applied
*/

u16 *FB_565;

//New stuff – v1.2.0

/**
* Buffer that contains the cloud of pixels on which we work.
* the cloud correspond to the traked entity.
*/

u8 *B_WORK;


/**
* Contains tracking informations
* pOut.x, pOut.y, pOut.z, pOut.w for
* X begin, X end, Y begin, Y end
*/

vec4i pOut;


/**
* Is true for the case when the camera streaming is working well.
*/

bool run;


/**
* Correspond to sceUsbCamGetLensDirection();
*/

bool direction;

//New stuff – v1.2.0

/**
* Set it to true before initCam()
* if you seek to force the ambient light detection.
*/

bool checkAmbientLight;


/**
* Set it to true before delete if you seek to
* delete the tracker without unload modules.
*/

bool relativeClean;


/**
* Id of the tracker thread.
*/

int thid;


/**
* Active the Frame Manager.
*/

void fm_activated();

/**
* Return True if the FM is waiting for a « next frame » signal.
*/

bool fm_isWaiting();


/**
* Send a « next frame » signal
*/

void fm_nextFrame();

/**
* Delete the tracker and unload modules if not relativeClean
* else delete the tracker only, wihtout unload modules.
*/

~Uht();




 

Become a Member of QJ.Net!

If you want your comments to go live without waiting for moderation, you need to be logged in. Being logged in has its benefits:
  • Logged in members do not wait for their comments to be approved.
So why wait? Create an account or login now! It's easy, quick, and free.

To get started, use the LOGIN boxes, or the REGISTER link at the top right!

Add comment

Security code
Refresh


















































































Welcome to QJ.Net!

If you want your comments to go live without waiting for moderation, you need to be logged in. Being logged in has its benefits:
  • Logged in members do not wait for their comments to be approved.
So why wait? Create an account or login now! It's easy, quick, and free.

To get started, use the LOGIN boxes, or the REGISTER link below!



Want to learn more about the team who brings you the QJ news?

Read about them now!


 Username: 
 Password:

HOT FLASH GAMES

Monster Truck Jumper

Left to Die

The Empire 2

Dark Dimension

Town Drift Competition

Heroes of the Sword

RSS Feeds Follow us on Twitter Find us on Facebook