This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Convert Bayer pattern encoded image to truecolor image


  • RGB = demosaic(I,sensorAlignment)



RGB = demosaic(I,sensorAlignment) converts the Bayer pattern encoded image, I, to the truecolor image, RGB, using gradient-corrected linear interpolation. sensorAlignment specifies the Bayer pattern.

A Bayer filter mosaic, or color filter array, refers to the arrangement of color filters that let each sensor in a single-sensor digital camera record only red, green, or blue data. The patterns emphasize the number of green sensors to mimic the human eye's greater sensitivity to green light. The demosaic function uses interpolation to convert the two-dimensional Bayer-encoded image into the truecolor image.

Code Generation support: Yes.

MATLAB Function Block support: Yes.


collapse all

Convert a Bayer pattern encoded image that was photographed by a camera with a sensor alignment of 'bggr' .

I = imread('mandi.tif');
J = demosaic(I,'bggr');
figure, imshow(J);

Input Arguments

collapse all

Bayer-pattern encoded image, specified as an M-by-N array of intensity values. I must have at least 5 rows and 5 columns.

Data Types: uint8 | uint16 | uint32

Bayer pattern, specified as one of the values in the following table. Each value represents the order of the red, green, and blue sensors by describing the four pixels in the upper-left corner of the image (left-to-right, top-to-bottom).

Pattern2–by-2 Sensor Alignment

Data Types: char

Output Arguments

collapse all

RGB image, returned as an M-by-N-by-3 numeric array the same class as I.

More About

collapse all

Code Generation

This function supports the generation of C code using MATLAB® Coder™. For more information, see Code Generation for Image Processing.

When generating code, note the following:

  • sensorAlignment must be a compile-time constant.

MATLAB Function Block

You can use this function in the MATLAB Function Block in Simulink.


[1] Malvar, H.S., L. He, and R. Cutler, High quality linear interpolation for demosaicing of Bayer-patterned color images. ICASPP, Volume 34, Issue 11, pp. 2274-2282, May 2004.

Introduced in R2007b

Was this topic helpful?