Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float refSum = (float) greyReferenceRed + (float) greyReferenceGreen + (float) greyReferenceBlue;
- float partialRed = greyReferenceRed / refSum;
- float partialGreen = greyReferenceGreen / refSum;
- float partialBlue = greyReferenceBlue / refSum;
- float correctRed = ((float) 0.3333 - partialRed) / ((float) 1.0);
- float correctGreen = ((float) 0.3333 - partialGreen) / ((float) 2.0);
- float correctBlue = ((float) 0.3333 - partialBlue) / ((float) 1.0);
- float currentRed = rggbGains.getRed();
- float currentGreenEven = rggbGains.getGreenEven();
- float currentGreenOdd = rggbGains.getGreenOdd();
- float currentBlue = rggbGains.getBlue();
- float suggestedNewRed = currentRed + correctRed;
- float suggestedNewGreenEven = currentGreenEven + correctGreen;
- float suggestedNewGreenOdd = currentGreenOdd + correctGreen;
- float suggestedNewBlue = currentBlue + correctBlue;
- float[] suggestions = {suggestedNewRed,
- suggestedNewGreenEven,
- suggestedNewGreenOdd,
- suggestedNewBlue};
- for(int i = 0; i< suggestions.length; ++i){
- if(suggestions[i]<1.0){
- suggestions[i]=(float)1.0;
- }
- if(suggestions[i]>3.0){
- suggestions[i]=(float)3.0;
- }
- }
- rggbGains = new RggbChannelVector(suggestions[0], suggestions[1], suggestions[2], suggestions[3]);
- Log.i("Log", "========> New RGGB gains " + rggbGains.toString());
- mPreviewRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_GAINS, rggbGains);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement