ComfyUI Node
CV Detect Features
Detects local features and computes their descriptors (cv2.ORB/SIFT/AKAZE/BRISK detectAndCompute). Color input is converted to grayscale internally; enable CLAHE to equalize contrast first for low-contrast or unevenly lit images. Chain into 'CV Match Features'. Finding zero keypoints is a valid result (count = 0), not an error - the downstream match/homography nodes handle it, so a failed detection never halts the workflow.
CV Detect Features
- image
- mask
- keypoints
- descriptors
- count
◄detectorORB►
◄max_features2000►
◄clahefalse►
Categoryimage/CV/features
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | NPARRAY,IMAGE | Image to detect features in (BGR or gray). 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. | |
| detector | COMBO | ORB | ORB is fast and free; SIFT is slower but more robust to scale/rotation changes. AKAZE/BRISK ignore max_features. |
| max_features | INT | 20000–100000 | Maximum keypoints to keep (ORB/SIFT only). ORB: 0 means keep 0 features (empty output); SIFT: 0 means unlimited (keep all detected features). AKAZE/BRISK ignore this input. |
| clahe | BOOLEAN | false | Apply CLAHE contrast equalization before detection - helps on dim or low-contrast images. |
| maskopt | NPARRAY,MASK | Optional mask: detect only where mask > 0. 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. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| keypoints | CV_KEYPOINTS | — |
| descriptors | NPARRAY | — |
| count | INT | — |