Ensures adain_npy returned pixel value is within the range of bit depth #393
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes #222. The normalization process of
adain_npy
could generate pixel values that are out of the range of original image bit depth. For example, it computed values less than 0 or greater than 256 for 8-bit images. When this happens, the later process will consider the image to be 16 bit depth. But since most of pixels are less than 256, which is effectively black in 16 bit (65536) space, the result is an entirely black image. The solution is to compute a proper ratio to reducestyle_std
so that no pixel would exceed the range of original bit depth while still apply the style in the best effort.