Cleanup
A RocketRide image filter node that pre-processes images for OCR, significantly improving recognition accuracy on scanned or low-quality input.
What it does
Sits between an image source and a downstream OCR node and rewrites every image that flows through the image lane. The incoming bytes are buffered until the full image is received, then transformed through four sequential stages before being forwarded:
- PNG normalization: if the input is not already
image/png, it is converted via Pillow (RGBA mode). PNG inputs pass through this stage untouched. - Grayscale and contrast enhancement: decodes the PNG with OpenCV, converts to grayscale, applies a 5x5 Gaussian blur to suppress noise, then applies CLAHE (clip limit 2.0, 8x8 tile grid) to lift local contrast without blowing out the grayscale range.
- Deskew: inverts the grayscale image to make text white on black, locates all non-zero pixels, fits a minimum-area bounding rectangle to compute the text angle, then rotates the image back to horizontal using cubic interpolation with replicated borders.
- Morphological cleanup: applies morphological closing with a 2x2 square kernel to fill small holes inside character shapes (such as the interior of an
o) and remove speckle noise.
The output is always image/png regardless of the input format. There are no configuration fields and no agent-callable tools; the cleanup pipeline runs automatically on every image.
Configuration
Lanes
| Lane in | Lane out | Description |
|---|---|---|
image | image | Receives the raw image, emits the cleaned PNG |
Images are streamed in chunks using AVI_ACTION signals (BEGIN / WRITE / END). The node buffers all WRITE chunks, processes the complete image on END, then re-emits it as a new BEGIN / WRITE / END sequence. The default pass-through is suppressed so only the cleaned image continues down the pipeline.
No configuration fields. Drop the node into the pipeline between an image source and an OCR node and it works as-is with no further setup. The node registers a single empty default profile.
Schema
No configuration fields.
Dependencies
pillow