OpenCV completeSymm_1
CompleteSymm_0's twin — the symmetrizer, duplicated
- m
- nparray
completeSymm_1 is completeSymm_0, again. Same function (cv2.completeSymm), same inputs, same in-place behavior, same output. The opencv-comfyui pack generates a node per overload in OpenCV's type stubs and numbers the collisions, and for this function the two overloads compiled to identical implementations. So everything on the completeSymm_0 page applies here verbatim - pick one node, forget the other exists.
The short version
cv2.completeSymm(m, lowerToUpper) forces a square matrix to be symmetric by copying one triangle onto the other:
- m (NPARRAY) - must be square, or you get
(-215:Assertion failed) m.rows == m.cols. - lowerToUpper (BOOLEAN) -
truecopies lower → upper,falsecopies upper → lower. - Output:
nparray- the same matrix, now symmetric. It mutates in place.
It's a math utility, not an image filter. Realistic ComfyUI use: symmetrizing a covariance, correlation, Gram, or similarity matrix you computed from features so downstream eigendecompositions behave. That's a niche within a niche, and it's fine that it's niche - it's one of ~635 auto-generated nodes, and this is one of the "only reach for it when the math demands it" ones.
Install
Identical to the rest of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/geroldmeisinger/opencv-comfyui
or ComfyUI Manager → search "opencv-comfyui". Requires opencv-python-contrib. Watch for the Cannot import name 'guidedFilter' from 'cv2.ximgproc' conflict if two OpenCV installs collide in your environment. And don't try to render the output through Nparrays2Image - it's a matrix, not a picture, and you'll get an unhappy error message instead of a preview.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| m | NPARRAY | — | |
| lowerToUpper | BOOLEAN | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| nparray | NPARRAY | — |