feat: ✨ add filtering to TransformImage

fixes #209
This commit is contained in:
Mel Massadian
2024-12-27 19:29:34 +01:00
parent c92d99a8a3
commit bae26a07fb
3 changed files with 32 additions and 5 deletions
+1 -3
View File
@@ -702,7 +702,6 @@ class MTB_Blur:
) )
blurred_images.append(blurred) blurred_images.append(blurred)
image_np = np.array(blurred_images)
else: else:
for i in range(image.size(0)): for i in range(image.size(0)):
blurred = gaussian( blurred = gaussian(
@@ -710,8 +709,7 @@ class MTB_Blur:
) )
blurred_images.append(blurred) blurred_images.append(blurred)
image_np = np.array(blurred_images) return (np2tensor(blurred_images),)
return (np2tensor(image_np).squeeze(0),)
class MTB_Sharpen: class MTB_Sharpen:
+30 -1
View File
@@ -45,6 +45,19 @@ class MTB_TransformImage:
), ),
"constant_color": ("COLOR", {"default": "#000000"}), "constant_color": ("COLOR", {"default": "#000000"}),
}, },
"optional": {
"filter_type": (
[
"nearest",
"box",
"bilinear",
"hamming",
"bicubic",
"lanczos",
],
{"default": "bilinear"},
),
},
} }
FUNCTION = "transform" FUNCTION = "transform"
@@ -61,7 +74,18 @@ class MTB_TransformImage:
shear: float, shear: float,
border_handling="edge", border_handling="edge",
constant_color=None, constant_color=None,
filter_type="nearest",
): ):
filter_map = {
"nearest": Image.NEAREST,
"box": Image.BOX,
"bilinear": Image.BILINEAR,
"hamming": Image.HAMMING,
"bicubic": Image.BICUBIC,
"lanczos": Image.LANCZOS,
}
resampling_filter = filter_map[filter_type]
x = int(x) x = int(x)
y = int(y) y = int(y)
angle = int(angle) angle = int(angle)
@@ -115,7 +139,12 @@ class MTB_TransformImage:
img = cast( img = cast(
Image.Image, Image.Image,
TF.affine( TF.affine(
img, angle=angle, scale=zoom, translate=[x, y], shear=shear img,
angle=angle,
scale=zoom,
translate=[x, y],
shear=shear,
interpolation=resampling_filter,
), ),
) )
+1 -1
Submodule wiki updated: a402de4af9...fa7fec28a3