В настоящее время я пытаюсь преобразовать 8-битное Raw цветное изображение в 8-разрядный RGB. Я получаю ошибку канала, ожидая, что Байер будет 1 канал.Machine Vision 8bit Bayer RGGB для RGB в Open CV
Я использую следующий код.
if (convertBayerChckBox->Checked)
{
try{
cv::Mat temp(imgOriginal.rows, imgOriginal.cols, CV_8UC3);
imgOriginal.copyTo(temp);
cv::cvtColor(temp, imgOriginal, CV_BayerRG2BGR);
}
catch (const cv::Exception& ex)
{
std::cout << "EXCEPTION: " << ex.what() << std::endl;
errLog << "EXCEPTION: " << ex.what() << std::endl;
}
}
тогда я получаю следующее исключение: ИСКЛЮЧЕНИЕ: ...... \ Modules \ imgproc \ SRC \ color.cpp: 4194: ошибка: (-215) SCN == 1 & & DCN == 3 в функции сорте :: cvtColor
Я не знаю, как еще конвертировать из Bayer в RGB
'demosaic()' может быть? –
Я удалил ответ, так как у меня вопрос неправильный. Какой тип 'imgOriginal'? Сколько каналов? – Miki
Он имеет 3 канала и считывается из AVI-видеофайла, который закодирован в 8-битном raw RGGB Bayer –