How do I stitch two rendered image side-by-side?

Hi all!

I’m a newbie. This is my first post. I have two rendered images and want to stitch them side by side. Just position them that way. The two images do not have shared boundary.

I think compositing node can do that. I think what I need to do is to make a larger canvas: 2x times wide. Then on it, place the left image, translate it to the left half. Then place the right image, translate it to the right half, and save.

I don’t know how to get a larger canvas in compositing node though. If I choose to render with 2x width, then I just get a completely new image.

Or, is this the right way to do it? Any better idea?

Could anyone help? Thank you very much!

It’ll be a a lot easier to just do it in a real image editor such as photoshop / GIMP.

The reason I am first trying to do it within Blender is this.

So this is a project. I have a scene and several cameras, I want to move those cameras and taking pictures in the process. And all the process should be done using python scripts. I have written a little console to control each camera to move and render images. Actually I want to stitch all these pictures together to make a wide image, and as they move, they form a video.

Once I know how to do two images, I will handle multiple images (I think). And once I know how to do it without python, I will find out how to do it using python (what I always did).

So, I try to first find solutions within Blender itself. If that isn’t possible, I may try to directly use python independently to process the images. I just am about to starting look at that.

So the point is automation, which is where scripts comes in. Gimp is a good idea, I will start looking at if I can script with it. Thanks.

And, back to my question, do you know how this can be done in Blender? Thanks! :slight_smile:

Maybe you need to render as separate scenes, then composite them together? That way the final composite can be a different resolution from the input images.

Even that way, in the separate scene, the rendered image will be a complete image, not half. What I desire is to have a half-image (where my left image could be put), and the other half is my right image. Did I make myself clear? Thx.

No, I’m not sure you did. You said in the first post you had two images. Now you only have one, and it is half empty ?

Maybe you should post screenshots

Have you thought about using the video sequence editor?

Two images are posted as follows:


Both of them 640480. So I want to join these two images side by side. So what I mean the “one” image is that, I am thinking of a large canvas, like 1280480. And I can put the left image above on the left part of the large canvas, and put the right image above on the right part of the large canvas.

For the node editor, if two images to be processed are of different size, then the first one determines the final size. This is to say, that to finally get a 1280480 image, I need to make my first image 1280480. So I am thinking in some way making a large canvas that ALREADY has my first image as its left part, but blank as its right part. so that I can use “translate” node and then use “mix” to put my second image on its right part, and get my final 1280*480. But this larger canvas, I cannot obtain it by rendering. Because rendering would just give me a complete image, just with different resolution. So… I don’t know how to get this large canvas.

This sounds pretty easy though, but I just cannot figure out the details. I certainly need to devote more time on Blender!

I have not looked at sequencer yet. I will look at it tomorrow.

Attachments


I see. I don’t think it will work that way. You would have to create one large 1280 x 480 (empty) ‘canvas’, then insert each image into that.

You need 3 items, rather than two.

You should be able to take each scene into the VSE as a separate strip rendering to a 1280 x 480 output.
Add a Transform effect to offset each image.

I think you should be able to do the same with nodes though, just using 3 scenes instead of two. The third scene shouldn’t have to have anything in it, its just something to pipe the other two into. I guess.

Organic!

I took your advice, 3 input images. Two above images are translated by -320(left) and 320(right). Large canvas and left image pass through a mixer(dimmed out the large canvas), then this result and the right image pass through AlphaOver(so that the brightness of both above images could be preserved). And, I got this:


Wahaha~~ I think this is EXACTLY what I want (no difference than my first attachments, eh? But this truly is a 1280*480 image)! Thank you very much!