Я пытаюсь преобразовать изображение RGB в формат ARGB. Есть ли способ для этого в openCV? Насколько я знаю, можно конвертировать изображение в RGBA, но я не уверен насчет ARGB.
Вот чем я сейчас занимаюсь:
cv::Mat argb(myImage.rows, myImage.cols, CV_8UC4);
cv::Mat alpha(myImage.rows, myImage.cols, CV_8UC1);
cv::Mat in[] = { myImage, alpha };
int from_to[] = { 0,1, 1,2, 2,3, 3,0 };
cv::mixChannels( in, 2, &argb, 1, from_to, 4 );
myImage в формате 8uc3, который является моим входным изображением. Но мне нужно изменить формат на ARGB для другого приложения.
Насколько я знаю, функция cvtColor не обеспечивает такое преобразование, поэтому вам нужно написать ее самостоятельно — посмотрите на исходный код функции cvtColor, ваше преобразование будет очень похоже на CV_BGR2RGB
— вам просто нужно переключиться на первый и последний канал.
Других решений пока нет …