Esempio n. 1
0
void getColor(uint8_t *r, uint8_t *g, uint8_t *b)
{
	uint32_t x, y, R, G, B, rsum=0, gsum=0, bsum=0;
	uint8_t *frame = (uint8_t *)SRAM0_LOC;

	for (y=94; y<104; y++)
	{
		for (x=154; x<164; x++)
		{
			interpolateBayer(320, x, y, frame+320*y+x, R, G, B);
		 	rsum += R;
			gsum += G;
			bsum += B;
		}
	}
	*r = rsum/100;
	*g = gsum/100;
	*b = bsum/100;	 	
}
void getColor(uint8_t *r, uint8_t *g, uint8_t *b)
{
	uint32_t x, y, R, G, B, rsum, gsum, bsum, count;
	uint8_t *frame = g_rawFrame.m_pixels;  // use the correct pointer

	for (rsum=0, gsum=0, bsum=0, count=0, y=(CAM_RES2_HEIGHT-BT_CENTER_SIZE)/2; y<(CAM_RES2_HEIGHT+BT_CENTER_SIZE)/2; y++)
	{
		for (x=(CAM_RES2_WIDTH-BT_CENTER_SIZE)/2; x<(CAM_RES2_WIDTH+BT_CENTER_SIZE)/2; x++, count++)
		{
			interpolateBayer(CAM_RES2_WIDTH, x, y, frame+CAM_RES2_WIDTH*y+x, R, G, B);
		 	rsum += R;
			gsum += G;
			bsum += B;
		}
	}
	*r = rsum/count;
	*g = gsum/count;										 
	*b = bsum/count;	 	
}