I am working on a DCT-based steganography program in Python and I found a working model in Github. The program, however, can only encode on one of the RGB channels. Resulting in a discolored image. The image is split into RGB bands using OpenCV and DCT and quantization is done only on the blue channel and then it is combined with the rest of the channels. Is there a way to make it work on all channels or avoid discoloration?
I have referred the DCT compression on RGB images to find a solution and found out that DCT and quantization must be done for all 3 bands separately and then compression is done. Should I do the same here also? As in encode the same message three times in all bands to avoid discoloration?