Aller au contenu

Ce contenu n’est pas encore disponible dans votre langue.

Adjusts the logarithmic exposure of an input image and outputs the adjusted image Params: default : Image The input image gain : float, default=1 The gain of the logarithmic correction. inv : bool, default=False Perform inverse logarithmic correction. Returns: out : Image The adjusted image.
Python Code
import numpy as np
from flojoy import Image, flojoy

@flojoy(deps={"scikit-image": "0.21.0"})
default: Image,
gain: float = 1,
inv: bool = False,
) -> Image:
"""
Adjusts the logarithmic exposure of an input image and outputs the adjusted image

Parameters
----------
default: Image
The input image
gain: float, default=1
The gain of the logarithmic correction.
inv: bool, default=False
Perform inverse logarithmic correction.

Returns
-------
Image
"""

r = default.r
g = default.g
b = default.b
a = default.a

if a is not None:
rgba_image = np.stack((r, g, b, a), axis=2)
else:
rgba_image = np.stack((r, g, b), axis=2)

# Check if the image is in the appropriate format
if rgba_image.dtype != np.uint8:
raise ValueError("Image must be in uint8 format")

# Apply logarithmic correction

r = corrected_image[:, :, 0]
g = corrected_image[:, :, 1]
b = corrected_image[:, :, 2]
if a is not None:
a = corrected_image[:, :, 3]

return Image(r=r, g=g, b=b, a=a)


Find this Flojoy Block on GitHub

## Example

First the necessary blocks were added: SKIMAGE to fetch the example image, 3 IMAGE blocks to view the images, LOGARITHMIC_ADJUSTMENT, AND GAMMA_ADJUSTMENT.
The gamma parameter for GAMMA_ADJUSTMENT was set to 1.5, and the SKLEARN image was set to moon. The remaining parameters were left at default values.