Adding Profiles
This page describes the internals of YUVColorTypes.jl.
You can implement the conversion methods such as convert_yuv_to_rgb directly. However, except in the case of nonlinear conversions or speed optimization, the conversion processes are completed simply by defining a profile.
RGB color primaries and whitepoint
YUVColorTypes.primary_r — Functionprimary_r(C) -> xyY{Float64}Return the red primary of color type C in xyY where Y is 1.0.
YUVColorTypes.primary_g — Functionprimary_g(C) -> xyY{Float64}Return the green primary of color type C in xyY where Y is 1.0.
YUVColorTypes.primary_b — Functionprimary_b(C) -> xyY{Float64}Return the blue primary of color type C in xyY where Y is 1.0.
YUVColorTypes.whitepoint — Functionwhitepoint(C) -> xyY{Float64}Return the whitepoint of color type C in `xyY.
RGB <-> XYZ conversion matrices
YUVColorTypes.mat_rgb_to_xyz — Functionmat_rgb_to_xyz(C{T}) -> NTuple{3,NTuple{3,F}}Return the conversion matrix from CIE XYZ to linear RGB based on C primaries.
YUVColorTypes.mat_xyz_to_rgb — Functionmat_xyz_to_rgb(C{T}) -> NTuple{3,NTuple{3,F}}Return the conversion matrix from linear RGB based on C primaries to CIE XYZ.
RGB <-> sRGB conversion matrices
YUVColorTypes.mat_rgb_to_srgb — Functionmat_rgb_to_srgb(C{T}) ->NTuple{3,NTuple{3,F}}Return the conversion matrix from linear RGB based on C primaries to linear sRGB.
YUVColorTypes.mat_srgb_to_rgb — Functionmat_srgb_to_rgb(C{T}) -> NTuple{3,NTuple{3,F}}Return the conversion matrix from linear sRGB to linear RGB based on C primaries.
YUV <-> RGB conversion matrices
Transfer functions
YUVColorTypes.eotf — Functioneotf(C) -> functionReturn the display EOTF (Electro-Optical Transfer Function) for color type C.
See also eotf
YUVColorTypes.ieotf — Functionieotf(::Type{C})Return the inverse EOTF (Electro-Optical Transfer Function) for color type C. This is sometimes referred to as OETF (Opto-Electronic Transfer Function), but OETF is essentially a camera-side characteristic and is distinct from a display-side characteristic.
See also eotf