Как сказал rcv , нет способа программно обнаружить цветовое пространство путем проверки трех цветовых каналов, если только вы не обладаете априорным знанием содержания изображения маркер на изображении, цвет которого известен). Если вы будете принимать изображения из неизвестных источников, вы должны разрешить пользователю указывать цветовое пространство своего изображения. Хорошим значением по умолчанию было бы принять RGB.
Если вы изменяете какие-либо цвета пикселей перед отображением и используете средство просмотра не-OpenCV, вам, вероятно, следует использовать cvCvtColor(src,dst,CV_BGR2RGB)
после того, как вы завершите работу всех своих цветовых фильтров. Если вы используете OpenCV для просмотра или сохраняете изображения в файл, убедитесь, что они находятся в цветовом пространстве BGR.