I can not find a definitive answer to the difference between YUV and YCrCb color spaces.
nVidia’s performance primitives and OpenCV have different functions and constants that indicate
that they are different. For example, OpenCV’s cvtColor()
function has separate codes
CV_RGB2YCrCb
and CV_RGB2YUV
— what is the difference? The formula documented for OpenCV’s RGB to YCrCb transformation is given as
Where the RGB to YUV as explained on Wikipedia is
Note that the CrCb channels appear to be backwards to UV channels and the constants are different. The delta’s are just normalization values.
The answer here does not really shed light on the details. Evidently the difference is rooted in historical differences between analog and digital video? When would I use one versus the other?
Edit: Take a look at the difference between U/CB and V/CR in this post and you can see there is a slight difference.