You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add adjustment operations for RGB Tensor Images. (#1525)
* Add adjustment operations for RGB Tensor Images.
Right now, we have operations on PIL images, but we want to have a version of the opeartions that act directly on Tensor images.
Here, we add such operations for adjust_brightness, adjust_contrast and adjust_saturation.
In PIL, those functions are implemented by generating an degenerate image from the first, and then interpolating them together.
- https://github.com/python-pillow/Pillow/blob/master/src/PIL/ImageEnhance.py
- https://github.com/python-pillow/Pillow/blob/master/src/libImaging/Blend.c
A few caveats:
* Since PIL operates on uint8, and the tensor operations might be on float, we can get slightly different values because of int truncation.
* We assume here the images are RGB; in particular, to handle an alpha channel, we need to check whether it is present, in which case we copy it to the final image.
* Keep dtype and use broadcast in adjust operations
- We make our operations have input.dtype == output.dtype, at the cost of
adding a few type checks and branches.
- By using Tensor broadcast, we can simplify the calls to _blend.
* Use is_floating_point to check dtype.
* Remove unpacking in tuple
It seems Python 2 does not support this type of unpacking, so it broke
Python 2 builds. This should fix it.
* Add from __future__ import division for Python 2
0 commit comments