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
|
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.
|
Gaussian blur, source image centered on white canvas.
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -32,7 +32,8 @@ from typing import Any, Dict, Tuple, Union
|
||||||
from .image import (
|
from .image import (
|
||||||
expand_image,
|
expand_image,
|
||||||
# mask filters
|
# mask filters
|
||||||
mask_filter_gaussian,
|
mask_filter_gaussian_multiply,
|
||||||
|
mask_filter_gaussian_screen,
|
||||||
mask_filter_none,
|
mask_filter_none,
|
||||||
# noise sources
|
# noise sources
|
||||||
noise_source_gaussian,
|
noise_source_gaussian,
|
||||||
|
@ -92,7 +93,8 @@ noise_sources = {
|
||||||
}
|
}
|
||||||
mask_filters = {
|
mask_filters = {
|
||||||
'none': mask_filter_none,
|
'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> = {
|
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