Bonjour,I don't know why you are expecting precise zebra but ...
so why not make it better if its possible. and default zebra is not useful?zebra should be precise as possible.So when its possible to get better zebra results give better pictures.
Humm !I don't know for your cam but mine, when exposed to direct sun, I see an overexposed vertical line on the viewport inline with the sun (ex: when I take a video of a sunrise). Therefore, the zebra is biased by the sensor-to-vide-conversion
...with default zebra you see overexpose the shine in hair.with rgb zebra and neutral you get correct expose picture
over = 255-conf.zebra_over;
if (conf.zebra_multichannel) { uu = (signed char)img_buf[v]; vv = (signed char)img_buf[v+2]; sel=0; if (!((conf.zebra_mode == ZEBRA_MODE_ZEBRA_1 || conf.zebra_mode == ZEBRA_MODE_ZEBRA_2) && (y-x-timer)&f)) { if (clip8(((yy<<12) + vv*5742 + 2048)>>12)>over) sel = 4; // R if (clip8(((yy<<12) - uu*1410 - vv*2925 + 2048)>>12)>over) sel |= 2; // G if (clip8(((yy<<12) + uu*7258 + 2048)>>12)>over) sel |= 1; // B } ; buf[s]=buf[s+1]=cls[sel]; buf[s+2]=buf[s+3]=cls[sel]; } else if (((conf.zebra_mode == ZEBRA_MODE_ZEBRA_1 || conf.zebra_mode == ZEBRA_MODE_ZEBRA_2) && (y-x-timer)&f)) buf[s]=buf[s+1]=COLOR_TRANSPARENT; else buf[s]=buf[s+1]=(yy>over)?cl_over:(yy<conf.zebra_under)?cl_under:COLOR_TRANSPARENT; if (buf[s] != COLOR_TRANSPARENT && !zebra_drawn) zebra_drawn = 1;
Quote from: Bernd R on 04 / May / 2011, 14:04:11...with default zebra you see overexpose the shine in hair.with rgb zebra and neutral you get correct expose pictureNow, I understand.I would first suspect the value of "over".Code: [Select] over = 255-conf.zebra_over;"over" is compared to viewport pixels to signal overexposure. It use the same "over" for "Y" and "RGB".Code: [Select] if (conf.zebra_multichannel) { uu = (signed char)img_buf[v]; vv = (signed char)img_buf[v+2]; sel=0; if (!((conf.zebra_mode == ZEBRA_MODE_ZEBRA_1 || conf.zebra_mode == ZEBRA_MODE_ZEBRA_2) && (y-x-timer)&f)) { if (clip8(((yy<<12) + vv*5742 + 2048)>>12)>over) sel = 4; // R if (clip8(((yy<<12) - uu*1410 - vv*2925 + 2048)>>12)>over) sel |= 2; // G if (clip8(((yy<<12) + uu*7258 + 2048)>>12)>over) sel |= 1; // B } ; buf[s]=buf[s+1]=cls[sel]; buf[s+2]=buf[s+3]=cls[sel]; } else if (((conf.zebra_mode == ZEBRA_MODE_ZEBRA_1 || conf.zebra_mode == ZEBRA_MODE_ZEBRA_2) && (y-x-timer)&f)) buf[s]=buf[s+1]=COLOR_TRANSPARENT; else buf[s]=buf[s+1]=(yy>over)?cl_over:(yy<conf.zebra_under)?cl_under:COLOR_TRANSPARENT; if (buf[s] != COLOR_TRANSPARENT && !zebra_drawn) zebra_drawn = 1;Comparing "Y" values and "RGB" values with "over" don't seam to be equivalent and, may be, it's because the "Y" component don't have the same scale (16-240) than "RGB" components (0-255).en.wikipedia.org YCbCrIs it sound good?
I get a look to your jpg and your explanation. Well, I am not sure that clipping is The problem.I still think that the color transformation process from RAW color space to YCbCr color space for viewport display already clip things.
P.S.: This image (http://en.wikipedia.org/wiki/File:AdditiveColor.svg) will zebra black and white areas in YCbCr and will zebra all the image area in RGB.
Started by NewbieToobie General Help and Assistance on using CHDK stable releases
Started by andreluisdealvarenga Feature Requests
Started by pwcal2 Feature Requests
Started by axman « 1 2 » General Help and Assistance on using CHDK stable releases
Started by philmoz General Discussion and Assistance