As noted in the documentation
Any primitive type from the list can be defined by an identifier in
the formCV_<bit-depth>{U|S|F}C(<number_of_channels>)
where U is unsigned integer type, S is signed integer type, and F is float type.
so CV_8UC3 is an 8-bit unsigned integer matrix/image with 3 channels.
Although it is most common that this means an RGB (or actually BGR) image, it does not mandate it.
It simply means that there are three channels, and how you use them is up to you and your application.