RunMat
  • Pricing
RunMat
GitHub
GitHub
DownloadSign InTry in Browser
DesktopRuntimeServer
RunMat

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact

Explore

  • RunMat for academia
  • RunMat vs MATLAB Online
  • Benchmarks

Get product updates and release notes from the RunMat team.

© 2026 Dystr · Made withfor the scientific community.

RunMat™ is a registered trademark of Dystr, Inc. MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.

LicensePrivacy
/
See all docs
Builtin Reference
    • gray2rgb
    • hsv2rgb
    • im2double
    • im2uint16
    • im2uint8
    • ind2rgb
    • lab2rgb
    • rgb2gray
    • rgb2hsv
    • rgb2lab

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

NameTypeRequiredDefaultDescription
RGBAnyYes—RGB truecolor image or double colormap.

Returns

NameTypeDescription
INumericArrayGrayscale image converted from RGB input.

Errors

IdentifierWhenMessage
RunMat:rgb2gray:TooManyInputsMore than one input argument is supplied.rgb2gray: too many input arguments
RunMat:rgb2gray:InvalidInputInput cannot be interpreted as an MxNx3 RGB image or an Nx3 double colormap.rgb2gray: invalid input
RunMat:rgb2gray:InternalGrayscale 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 native uint8, uint16, single, and double output storage. Integer conversion uses nearest rounding with ties away from zero and saturation; unsupported signed, uint32, and uint64 image classes reject before resident download.

Example

Convert RGB To Gray

I = rgb2gray(RGB);

Expected output:

% I is MxN

Using 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

Color

gray2rgb · hsv2rgb · im2double · im2uint16 · im2uint8 · ind2rgb · lab2rgb · rgb2hsv · rgb2lab

Filters

filter2 · fspecial · imfilter

Image

imfinfo · imhist

Io

imread · imwrite

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.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.

Download RunMatOpen Sandbox
On this page
  • Syntax
  • Inputs
  • Returns
  • Errors
  • How rgb2gray works
  • Example
  • Convert RGB To Gray
  • Using rgb2gray with coding agents
  • Related Image functions
  • Color
  • Filters
  • Image
  • Io
  • Open-source implementation
  • About RunMat