colour_demosaicing.demosaicing_CFA_Bayer_bilinear#
- colour_demosaicing.demosaicing_CFA_Bayer_bilinear(CFA: ArrayLike, pattern: Literal['RGGB', 'BGGR', 'GRBG', 'GBRG'] | str = 'RGGB') NDArrayFloat [source]#
Return the demosaiced RGB colourspace array from given Bayer CFA using bilinear interpolation.
- Parameters:
CFA (ArrayLike) – Bayer CFA.
pattern (Literal['RGGB', 'BGGR', 'GRBG', 'GBRG'] | str) – Arrangement of the colour filters on the pixel array.
- Returns:
RGB colourspace array.
- Return type:
Notes
The definition output is not clipped in range [0, 1] : this allows for direct HDRI image generation on Bayer CFA data and post demosaicing of the high dynamic range data as showcased in this Jupyter Notebook.
References
[LMY10]
Examples
>>> import numpy as np >>> CFA = np.array( ... [ ... [0.30980393, 0.36078432, 0.30588236, 0.3764706], ... [0.35686275, 0.39607844, 0.36078432, 0.40000001], ... ] ... ) >>> demosaicing_CFA_Bayer_bilinear(CFA) array([[[ 0.69705884, 0.17941177, 0.09901961], [ 0.46176472, 0.4509804 , 0.19803922], [ 0.45882354, 0.27450981, 0.19901961], [ 0.22941177, 0.5647059 , 0.30000001]], [[ 0.23235295, 0.53529412, 0.29705883], [ 0.15392157, 0.26960785, 0.59411766], [ 0.15294118, 0.4509804 , 0.59705884], [ 0.07647059, 0.18431373, 0.90000002]]]) >>> CFA = np.array( ... [ ... [0.3764706, 0.360784320, 0.40784314, 0.3764706], ... [0.35686275, 0.30980393, 0.36078432, 0.29803923], ... ] ... ) >>> demosaicing_CFA_Bayer_bilinear(CFA, "BGGR") array([[[ 0.07745098, 0.17941177, 0.84705885], [ 0.15490197, 0.4509804 , 0.5882353 ], [ 0.15196079, 0.27450981, 0.61176471], [ 0.22352942, 0.5647059 , 0.30588235]], [[ 0.23235295, 0.53529412, 0.28235295], [ 0.4647059 , 0.26960785, 0.19607843], [ 0.45588237, 0.4509804 , 0.20392157], [ 0.67058827, 0.18431373, 0.10196078]]])