| import cv2 | |
| import numpy as np | |
| def modulo(x, L): | |
| positive = x > 0 | |
| x = x % L | |
| x = np.where( ( x == 0) & positive, L, x) | |
| return x | |
| def apply_blur(image, kernel_size): | |
| """Aplica desenfoque gaussiano a la imagen.""" | |
| return cv2.GaussianBlur(image, (kernel_size, kernel_size), 0) | |
| def clip_image(image, correction, sat_factor): | |
| """Clips image with saturation factor and correction.""" | |
| processed_image = np.power(image, correction) * sat_factor | |
| clipped_image = np.clip(processed_image, 0, 1) | |
| return clipped_image | |
| def wrap_image(image, correction, sat_factor): | |
| """Wraps image with saturation factor and correction.""" | |
| processed_image = np.power(image, 1.0) * sat_factor | |
| wrapped_image = modulo(processed_image, 1.0) | |
| return wrapped_image | |