Input Image File icon

Input Image File

1 VersionInput

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}} 0 mean "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. true loops 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