underwater_image_color_correction

Creator: coderz1093

Last updated:

0 purchases

TODO
Add to Cart

Description:

underwater image color correction

underwater-image-color-correction #
Usage #
final UnderwaterImageColorCorrection _underwaterImageColorCorrection = UnderwaterImageColorCorrection();
_underwaterImageColorCorrection.getColorFilterMatrix(pixels: pixels, width: width, height: height);
copied to clipboard
The arguments in the function is the following:

pixels. 4 channel pixel array [R0, G0, B0, A0, R1, G1, B1, A1, ...]
width. The width of the image.
heigth. The height of the image.

The output of the function is a color filter matrix:
[
RedRed, RedGreen, RedBblue, RedAlpha, RedOffset,
GreenRed, GreenGreen, GreenBlue, GreenAlpha, GOffset,
BlueRed, BlueGreen, BlueBlue, BlueAlpha, BOffset,
AlphaRed, AlphaGreen, AlphaBlue, AlphaAlpha, AOffset,
]
copied to clipboard
Test in browser: https://colorcorrection.firebaseapp.com/
Motivation #
As you descent underwater some colors are absorbed more than others.
The red color will disappear as the first thing which will make the image appear more blue and green.
By adjusting each color channel, the colors can be restored and make the image appear more natural with higher contrast.
This algorithm aims at doing this automatically.
Examples #



The algorithm #

Calculate the average color for image.
Hueshift the colors into the red channel until a minimum red average value of 60.
Create RGB histogram with new red color.
Find low threshold level and high threshold level.
Normalize array so threshold level is equal to 0 and threshold high is equal to 255.
Create color filter matrix based on the new values.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.