OpenCV moveWindow_0
Honestly, you can skip this one — moveWindow_0 is auto-gen cruft
- unknown
Let's be direct: moveWindow_0 is one of the nodes that shouldn't really exist. It wraps cv2.moveWindow(winname, x, y), which drags an OpenCV GUI window to a position on your desktop screen. It returns None. In a headless ComfyUI server - which is how most people run ComfyUI, even locally - it does nothing at all, and on a desktop box it's still pointless because there's no imshow node in this pack to actually put an image in a window. It's here only because the generator wraps every top-level cv2 function with simple types, usefulness be damned.
What the inputs are
winname(STRING) - the window's name, matching one you created withnamedWindow_0.x(INT),y(INT) - pixel coordinates to move it to.
Output: a single None-typed output called unknown. There's nothing to wire it into; it's a dead end.
Why it exists anyway
geroldmeisinger/opencv-comfyui auto-generates ~635 nodes from OpenCV's type stubs. Functions that return None - moveWindow, namedWindow, destroyWindow, imshow - get wrapped like everything else, and the README literally lists "blacklist functions which don't make sense in ComfyUI (like return type None)" as a TODO. You're looking at a node the author already knows is questionable.
The only scenario it's for
If you run a ComfyUI on a desktop machine with a real display, and you're scripting the OpenCV GUI stack (namedWindow_0 to create a window, then this to position it), it technically works. But there's no image-display node in the pack, so you can't complete the loop from the graph. You'd be better off doing window management in a plain Python script and leaving ComfyUI out of it.
Installing
Via ComfyUI Manager (search "opencv-comfyui") or:
cd ComfyUI/custom_nodes
git clone https://github.com/geroldmeisinger/opencv-comfyui
restart. Dependency: opencv-contrib-python.
Verdict
Skip it. Knowing this node exists is useful only as a signpost for how the pack works: it wraps everything, so the presence of a node isn't a recommendation that it's useful. If you're new, don't let nodes like this make you think you're missing something. minMaxLoc_0, normalize_0, and morphologyEx_0 are where the actual value is.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| winname | STRING | — | |
| x | INT | — | |
| y | INT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| unknown | None | — |