ComfyUI Node
CV Compute Descriptors
Describes keypoints that were found by a DESCRIPTOR-FREE detector ('CV Detect Corners', 'CV Detect Blobs', annotated points...) so they can be matched. This is the compute()-only half of the cv2 Feature2D class API, which no raw wrapper exposes: detection and description are separate steps in OpenCV, and splitting them lets you pair any detector with any descriptor (FAST corners + SIFT descriptors, blobs + ORB, ...). Wire the outputs into 'CV Match Features' exactly like 'CV Detect Features'. NOTE the descriptor DROPS keypoints too close to the border, so always use the 'keypoints' output here - not the original list - or the descriptors and keypoints go out of step.
CV Compute Descriptors
- image
- keypoints
- keypoints
- descriptors
- count
◄descriptorORB (binary, fast)►
Categoryimage/CV/features
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | NPARRAY,IMAGE | The image the keypoints were detected in (converted to grayscale internally). Accepts a ComfyUI IMAGE/MASK directly (frame 0 of a batch) or an NPARRAY. Arithmetic ops (add, multiply, etc.) process the full IMAGE batch when both inputs have the same batch size. | |
| keypoints | CV_KEYPOINTS | Keypoints to describe, from any detector node. | |
| descriptor | COMBO | ORB (binary, fast) | ORB/BRISK give binary descriptors (match with Hamming), SIFT gives 128-D float descriptors (match with L2). The matcher node must use the norm that goes with the descriptor. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| keypoints | CV_KEYPOINTS | The keypoints that COULD be described (border keypoints are dropped) - row-aligned with the descriptors. |
| descriptors | NPARRAY | NxD descriptor matrix; uint8 for ORB/BRISK, float32 for SIFT. Empty with the right dtype when nothing survives. |
| count | INT | How many keypoints kept a descriptor. |