[C++] Multispectral image manipulation

Hi! I have got a multispectral image with several bands using .tiff format.

I need to find a way in C++ to upload all these bands, split some of them and recompose them differently to obtain a new image with fewer bands than the first.

I found the libtiff library that allows me to upload all the image’s bands but I have no idea about how to split these and recompose them. Have you got any suggestion?