feat: add gaussian multiply to mask filters
This commit is contained in:
parent
f00f36b5b1
commit
40080ad46b
|
@ -14,7 +14,20 @@ def mask_filter_none(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int
|
|||
return noise
|
||||
|
||||
|
||||
def mask_filter_gaussian(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int, int], rounds=3) -> Image:
|
||||
def mask_filter_gaussian_multiply(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int, int], rounds=3) -> Image:
|
||||
'''
|
||||
Gaussian blur with multiply, source image centered on white canvas.
|
||||
'''
|
||||
noise = mask_filter_none(mask_image, dims, origin)
|
||||
|
||||
for i in range(rounds):
|
||||
blur = noise.filter(ImageFilter.GaussianBlur(5))
|
||||
noise = ImageChops.multiply(noise, blur)
|
||||
|
||||
return noise
|
||||
|
||||
|
||||
def mask_filter_gaussian_screen(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int, int], rounds=3) -> Image:
|
||||
'''
|
||||
Gaussian blur, source image centered on white canvas.
|
||||
'''
|
||||
|
|
|
@ -32,7 +32,8 @@ from typing import Any, Dict, Tuple, Union
|
|||
from .image import (
|
||||
expand_image,
|
||||
# mask filters
|
||||
mask_filter_gaussian,
|
||||
mask_filter_gaussian_multiply,
|
||||
mask_filter_gaussian_screen,
|
||||
mask_filter_none,
|
||||
# noise sources
|
||||
noise_source_gaussian,
|
||||
|
@ -92,7 +93,8 @@ noise_sources = {
|
|||
}
|
||||
mask_filters = {
|
||||
'none': mask_filter_none,
|
||||
'gaussian': mask_filter_gaussian,
|
||||
'gaussian-multiply': mask_filter_gaussian_multiply,
|
||||
'gaussian-screen': mask_filter_gaussian_screen,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ export const NOISE_LABELS: Record<string, string> = {
|
|||
};
|
||||
|
||||
export const MASK_LABELS: Record<string, string> = {
|
||||
gaussian: 'Gaussian Blur',
|
||||
none: 'None',
|
||||
'none': 'None',
|
||||
'gaussian-multiply': 'Gaussian Multiply',
|
||||
'gaussian-screen': 'Gaussian Screen',
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue