rgb2gray — Convert RGB image data to grayscale intensity values using MATLAB-compatible luminance weighting.
rgb2gray(RGB) converts an MxNx3 truecolor image to grayscale with standard luminance weighting. Output typing and scaling follow MATLAB-compatible image-conversion rules for integer and floating-point inputs.
Syntax
I = rgb2gray(RGB)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
RGB | Any | Yes | — | RGB truecolor image. |
Returns
| Name | Type | Description |
|---|---|---|
I | NumericArray | Grayscale image converted from RGB input. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:rgb2gray:TooManyInputs | More than one input argument is supplied. | rgb2gray: too many input arguments |
RunMat:rgb2gray:InvalidInput | Input cannot be interpreted as an MxNx3 RGB image. | rgb2gray: invalid input |
RunMat:rgb2gray:Internal | Grayscale output tensor construction fails internally. | rgb2gray: internal conversion failure |
How rgb2gray works
- Accepts MxNx3 truecolor images.
- Uses weights 0.2989, 0.5870, and 0.1140 for red, green, and blue.
- Preserves uint8, uint16, single, and double image class metadata on host tensors.
Example
Convert RGB To Gray
I = rgb2gray(RGB);Expected output:
% I is MxNUsing rgb2gray with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how rgb2gray changes the result.
Run a small rgb2gray example, explain the result, then change one input and compare the output.
Related Image functions
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how rgb2gray is executed, line by line, in Rust.
- View the source for rgb2gray 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.