Image Memory

This function block stores the latest image it receives and can "freeze" that image in memory when requested. Use it when you want the same image to be reused repeatedly (for example while adjusting other parts of your setup) without needing the source to continuously provide new frames.

πŸ“₯ Inputs

Image Any Connect an image-producing block here. This is the image that can be stored or updated in memory.

Save Image A boolean input (checkbox/switch). When active, the block will keep outputting the currently stored image instead of updating it with new incoming images.

πŸ“€ Outputs

Image Any The image currently held in memory. This is either the last captured image (when Save Image is False) or the frozen image (when Save Image is True).

πŸ•ΉοΈ Controls

Save Image Toggle this control to freeze or allow updating of the stored image.

  • Turn ON to freeze the displayed/output image.

  • Turn OFF to allow the block to update its stored image with the incoming image.

🎨 Features

  • Freeze image in memory to avoid frequent re-captures when adjusting processing or UI.

  • Works with any image format accepted by the environment (RGB, BGR, grayscale, etc.).

  • Keeps the last valid image visible in output even if the input momentarily becomes empty, preventing visual gaps.

πŸ“ Usage Instructions

  1. Connect an image source (for example Camera USB, Stream Reader, or Load Image) to the Image Any input.

  2. Use the Save Image control to choose whether the block should update its stored image:

    • OFF: the stored image updates continuously with incoming frames.

    • ON: the stored image is frozen and repeatedly sent to outputs.

  3. Connect the block's output to visualization or export blocks (for example Show Image, Image Logger or Image Write) to use the stored image elsewhere in your flow.

πŸ“Š Running behavior

  • If Save Image is inactive the block updates its internal image every time a new image arrives and passes that image to its output.

  • If Save Image is active the block continues to provide the stored image on its output and ignores updates from the input until the control is turned off.

πŸ’‘ Tips and Tricks

  • Preview the frozen image with Show Image to check exactly what is stored before saving or exporting.

  • Reduce memory use by inserting Image Resizer or Image Resize before this block when full resolution is not required.

  • Use with Image Logger or Image Write to save a captured state only when Save Image is active.

  • Combine with ROI tools such as Image ROI Select or Image ROI to store just a cropped region rather than the full frame.

  • If you need to freeze non-image data alongside images, consider pairing this block with Data Memory to keep both image and related metadata stable.

  • Use a manual trigger like Logic Input to control the Save Image toggle from a simple on/off button in the UI.

πŸ› οΈ Troubleshooting

  • No image appears on output

    • Make sure the upstream block is producing an image and that the input connection is present.

    • If Save Image is active, the block will keep showing the stored image even if the input is temporarily empty.

  • Stored image does not update when expected

    • Ensure Save Image is set to OFF so incoming frames can replace the stored image.

    • If images are very large and memory is constrained, try reducing resolution with Image Resizer before this block.

  • Project load shows a different image than expected

    • Verify that the project was saved after the desired image was stored. Some environments persist stored images with the project; others may not. If persistence is needed, combine with Image Logger or Image Write to export a copy.

Last updated

Was this helpful?