π§© IG Stitch Images (CV2)
The OpenCV panorama stitcher, wrapped for ComfyUI with the warp turned off
- images
- stitched
IG Stitch Images CV2 is this pack's heavyweight stitcher - it wraps OpenCV's built-in Stitcher and exposes it as a node. The interesting design choice is what it forces on you: the default mode is SCANS, which restricts stitching to pure translation. No cylindrical bending, no spherical warp, no height drift. That's the same philosophy as the Simple Translate Stitcher, but with OpenCV's full feature-matching engine under it, so it tolerates more real-world mess - slight exposure differences, small rotations the translation model can absorb, more tiles.
How it works: it runs OpenCV's stitcher in SCANS mode with ORB feature detection, disables wave correction (which otherwise introduces a secondary warp you don't want), and lets you set the panorama confidence threshold. After stitching it can center-crop the result back to the input height - OpenCV occasionally leaves a 1-pixel sliver on the top or bottom of a scan, and crop_to_input_height trims it so your output height matches your input tiles exactly.
Inputs:
- images -
IMAGE, a list. Like the other stitcher, this node declaresINPUT_IS_LIST, so feed it a split batch, not a batched tensor. - mode - dropdown,
SCANS(default, translation-only) orPANORAMA(full warp - kept for completeness, but it defeats the whole zero-warp point). - crop_to_input_height -
BOOLEAN(defaultTrue). - confidence_threshold -
FLOAT(default0.25, range 0β1), minimum match confidence to accept.
Output: stitched - IMAGE.
The failure mode to know: OpenCV's stitcher returns a status code, and this node turns any non-OK status into a runtime error. The message tells you the numeric status, and the common ones are Stitcher_ERR_NEED_MORE_IMGS (too few/tiny overlaps) and Stitcher_ERR_HOMOGRAPHY_EST_FAIL (couldn't find a consistent transform). When you see those, the fix is almost always "more overlap between tiles" or "fewer, cleaner inputs" - dropping confidence_threshold helps less than you'd hope, because the failure is usually structural, not threshold-based. For clean pure-translation rows the Simple Translate Stitcher is faster; reach for this one when inputs are messier and you want OpenCV's robustness.
Install is the pack standard:
cd ComfyUI/custom_nodes
git clone https://github.com/IDGallagher/ComfyUI-IG-Nodes
cd ComfyUI-IG-Nodes && pip install -r requirements.txt
Or ComfyUI Manager β search "IG Interpolation Nodes" β Install, restart. It's the reason the pack depends on opencv-contrib-python - the contrib build carries the stitcher module. The README is :), but the mode map and status handling are in nodes/stitcher_cv2.py.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | β | |
| mode | COMBO | SCANS | 2 options: SCANS, PANORAMA |
| crop_to_input_height | BOOLEAN | true | β |
| confidence_threshold | FLOAT | 0.250β1 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| stitched | IMAGE | β |