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; }