
Input Image File
Image-file directory streamer. The worker enumerates files under the {{param:image}} directory slot, loads each through OpenCV imread, optionally resizes to {{param:width}} x {{param:height}} via INTER_LINEAR, and emits the {{type:Image}} at {{param:fps}} Hz; {{param:repeat}} loops the playlist.
How it fits
{{param:image}} (directory of image files) -> {{component:input_image_file}} -> {{type:Image}}
|
+-- enumerate files in {{param:image}} and load each via OpenCV
+-- resize to {{param:width}} x {{param:height}} when either is non-zero (INTER_LINEAR)
+-- emit one {{type:Image}} per loaded file, paced at {{param:fps}} Hz
+-- loop the playlist when {{param:repeat}} is true
Pick this for offline batches or deterministic tests against a set of recorded images. For live camera prefer {{component:input_camera}}; for browser capture prefer {{component:input_browser_webcam}}; for HTTP-pushed images prefer {{component:input_image_http}}.
Typical backends
- Detection batch: {{component:input_image_file}} -> {{component:detect_objects_triton}} -> analytics.
- OCR batch: {{component:input_image_file}} -> {{component:extract_text_paddleocr}} -> {{component:output_json_http}}.
- 3D reconstruction: {{component:input_image_file}} -> {{component:estimate_3d_points_moge2}} -> {{component:visualize_3d_map}}.
Caveats
- {{param:image}} is treated as a DIRECTORY. The worker enumerates every readable image file in it; files that OpenCV cannot decode are logged and SKIPPED rather than aborting the playlist.
- {{param:width}} and {{param:height}}
0mean "preserve source size" for that axis; either non-zero triggers a resize via OpenCV INTER_LINEAR to the (possibly stretched) target. The aspect ratio is NOT preserved automatically. - {{param:fps}} paces emission via a wall-clock target; the worker sleeps until the next slot. Setting {{param:fps}} to
0(or a negative value) produces an infinite frame period — the worker stalls. - {{param:repeat}}
false(default) stops after the last file.trueloops the directory forever at {{param:fps}}. - The output {{type:Image}} preserves OpenCV's native BGR colour space; downstream consumers that need RGB must convert.
- {{param:image}} is hot-swappable: a path change interrupts the current playlist and restarts from the new directory's first file.
- {{param:width}}, {{param:height}}, {{param:repeat}}, and {{param:fps}} are hot-swappable; changes apply on the next file.
Versions
- 709d2387defaultlatestlinux/amd64
live-test prerelease 2026-05-27T05:30:06Z

