OpenCV getDefaultAlgorithmHint_0
This Node Answers a Question Nobody Asks (and That's Fine)
- int
OpenCV getDefaultAlgorithmHint_0 takes no inputs, needs no images, and hands you a single int. It's the auto-generated pack's version of cv2.getDefaultAlgorithmHint(), which reports which optimization backend OpenCV would prefer for certain hardware-accelerated operations. It's a query about your OpenCV build, not a step in any workflow. Think of it as the equivalent of asking torch.cuda.is_available() - informative, occasionally fun, rarely something you route into a graph.
Here's the thing: nothing else in ComfyUI consumes this number. You can't set it from here (there's no setter wired up), and no downstream node changes behavior based on it. The honest use cases are debugging your environment - "does my OpenCV even have an optimized backend, or did I end up on a plain CPU build?" - and satisfying curiosity. If you want it in your workflow, wire the int output into any node that takes an INT (a text display node, a compare node, whatever) and let it sit there as a diagnostic.
What the hint actually means
OpenCV's getDefaultAlgorithmHint() returns one of a small set of constants that identify the optimization path for certain operations:
0=CV_ALGO_NONE(no special algorithm selected)1=CV_ALGO_INFERENCE_ENGINE2=CV_ALGO_TVM3=CV_ALGO_CPU
Which one you get depends on how your OpenCV was compiled and configured. It is not something you tune per-image. If you're deep in "why is my OpenCV node slow" territory, this tells you which code path you're on - but the actual fix for performance lives in the threading and optimization nodes elsewhere in the pack, not here.
The pack context you actually need
This node belongs to opencv-comfyui (geroldmeisinger), which wraps ~635 top-level cv2 functions as individual ComfyUI nodes, auto-generated from OpenCV's type stubs. The author's own README opens with "Expect dragons!" - these are raw OpenCV calls, ugly and un-curated. That's why a node as pointless as this one exists: it's a top-level standalone function, so the generator made a node for it.
Two habits will save you from most of the pack's sharp edges:
- Images are not images. Nodes here speak
NPARRAY(numpy arrays in OpenCV's BGR convention), not ComfyIMAGE. Convert withImage2Nparrayon the way in andNparrays2Imageon the way out. Batch size must be 1. - Composite types are literal strings. Anywhere you see a
Size,Point, orRectinput, you type it as a Python literal like[3, 3]- the pack parses it withast.literal_eval. Get the syntax wrong and you'll hit aninvalid syntax (<unknown>, line 0)error.
Install
Easiest via ComfyUI Manager: search for opencv-comfyui (the display name is "OpenCV") and install. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/geroldmeisinger/opencv-comfyui
Then make sure OpenCV is present - you probably already have it from another custom node; if not:
pip install opencv-contrib-python
Restart ComfyUI. No model files, no keys, no downloads beyond that. If you hit Cannot import name 'guidedFilter' from 'cv2.ximgproc', it's the known conflicting-packages problem - see the pack's README for the standard fix.
Bottom line
This is a curiosity node. Grab it if you're auditing your environment; ignore it otherwise. It does exactly what its OpenCV counterpart does, faithfully, and nothing more - which is the pack's whole deal.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| int | INT | — |