imshow — Display images in MATLAB and RunMat.
imshow displays grayscale, binary, and truecolor image data with MATLAB-style defaults. File-input handling and display scaling behavior follow MATLAB semantics.
Syntax
h = imshow(I)
h = imshow(I, [low high])
h = imshow(I, [])Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
I | Any | Yes | — | Image matrix/array or filename. |
I | Any | Yes | — | Numeric grayscale image matrix/array. |
DisplayRange | NumericArray | Yes | [] | Display limits as [] or [low high]. |
Returns
| Name | Type | Description |
|---|---|---|
h | NumericScalar | Handle to the image object. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:imshow:InvalidArgument | Image input, filename, or display range arguments are malformed or unsupported. | imshow: invalid argument |
RunMat:imshow:Internal | Internal image decoding or render preparation fails unexpectedly. | imshow: internal operation failed |
How imshow works
imshow(I)displays 2-D numeric data with grayscale limits[0, 1], matching MATLAB double-image defaults.imshow(BW)displays logical image data as black and white using[0, 1]limits.imshow(RGB)displays MxNx3 truecolor data directly.imshow(RGBA)displays MxNx4 truecolor data with alpha.imshow(I, [low high])displays grayscale image data using an explicit display range.imshow(I, [])auto-scales grayscale image data from finite minimum to finite maximum.imshow(filename)reads and decodes an image file, then displays it as truecolor data.
Examples
Display a simple grayscale image
row = 100;
col = 100;
rsm = ones(row, col);
imshow(rsm);Auto-scale a matrix for display
A = peaks(128);
imshow(A, []);Display truecolor RGB data
R = ones(64, 64);
G = zeros(64, 64);
B = zeros(64, 64);
RGB = cat(3, R, G, B);
imshow(RGB);Display an image file
imshow("photo.png");Using imshow with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how imshow changes the result.
Run a small imshow example, explain the result, then change one input and compare the output.
FAQ
What display range does imshow use for doubles?⌄
imshow(I) uses [0, 1] for floating-point grayscale data. Use imshow(I, []) when you want RunMat to scale the visible range from the data minimum to maximum.
Does imshow support uint8 and uint16 image defaults?⌄
File-backed images decode with byte pixel semantics. User-created integer image arrays currently depend on RunMat's broader numeric-class metadata model, so exact MATLAB class-dependent defaults for dense uint8/uint16 tensors are tracked separately.
How is imshow different from imagesc?⌄
imshow is for image display and uses grayscale or truecolor image defaults. imagesc is for scaled matrix visualization and maps data through the active colormap.
Related Plotting functions
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how imshow is executed, line by line, in Rust.
- View the source for imshow in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.