rgb2lab — Convert sRGB image or colormap values to CIE L*a*b* with MATLAB-compatible D65 conversion defaults.
rgb2lab(RGB) converts RGB image or colormap values to CIE L*a*b*. ColorSpace and WhitePoint name-value options select supported source color spaces and reference whites.
Syntax
LAB = rgb2lab(RGB, Name=Value)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
RGB | Any | Yes | — | RGB image, image stack, or c-by-3 colormap values. |
NameValue | Any | Variadic | — | ColorSpace or WhitePoint name-value options. |
Returns
| Name | Type | Description |
|---|---|---|
LAB | NumericArray | CIE L*a*b* image or colormap converted from RGB input. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:rgb2lab:TooManyInputs | More than the two supported name-value pairs are supplied. | rgb2lab: too many input arguments |
RunMat:rgb2lab:InvalidInput | Input cannot be interpreted as an MxNx3 RGB image or Nx3 RGB colormap. | rgb2lab: invalid input |
RunMat:rgb2lab:Internal | L*a*b* output tensor construction fails internally. | rgb2lab: internal conversion failure |
RunMat:rgb2lab:InvalidOption | A ColorSpace or WhitePoint name-value argument is malformed or unsupported. | rgb2lab: invalid name-value option |
How rgb2lab works
- Accepts MxNx3 truecolor images and Nx3 colormaps.
- Integer RGB inputs are scaled into [0,1] before conversion.
- ColorSpace and WhitePoint name-value options select the supported conversion basis.
Example
RGB To Lab
LAB = rgb2lab(RGB);Expected output:
% LAB has L*, a*, and b* channelsUsing rgb2lab with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how rgb2lab changes the result.
Run a small rgb2lab 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 rgb2lab is executed, line by line, in Rust.
- View the source for rgb2lab 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.