From 964ca1a0e6c0b31c259642d643bd12ed24b21691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Mon, 18 Dec 2023 08:43:17 +0000 Subject: [PATCH] [nodes] Blender: Rescale rendered images based on their pixel aspect ratio --- meshroom/nodes/blender/scripts/preview.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meshroom/nodes/blender/scripts/preview.py b/meshroom/nodes/blender/scripts/preview.py index fdb2dc09..5093d503 100644 --- a/meshroom/nodes/blender/scripts/preview.py +++ b/meshroom/nodes/blender/scripts/preview.py @@ -396,6 +396,13 @@ def main(): setupRender(view, intrinsic, pose, args.output) bpy.ops.render.render(write_still=True) + # if the pixel aspect ratio is not 1, reload and rescale the rendered image + if bpy.context.scene.render.pixel_aspect_x != 1.0: + finalImg = bpy.data.images.load(bpy.context.scene.render.filepath) + finalImg.scale(int(bpy.context.scene.render.resolution_x * bpy.context.scene.render.pixel_aspect_x), bpy.context.scene.render.resolution_y) + finalImg.save() + bpy.data.images.remove(finalImg) + # clear memory if img: bpy.data.images.remove(img)