К сожалению, я не понять, почему cvtColor
не работал, но тем не менее я нашел, почему конвертировать BayerRGGB в RGB с мой SDK.
Оказалось, что матричный вид sdk, с которым я работал, предоставил встроенное решение. Первое, что мне нужно было сделать, это изменить PixelFormat
на BayerRG8, чтобы получить разрешение 8 бит. После этого мне удалось декодировать Bayer RGGB в RGB, написав idpfRGB888Packed в ImageDestination.pixelFormat
.
Кроме того, я был в состоянии сделать мое преобразование очень примитивным способом, который также получил работу, но потребовал слишком много времени процессора. Я зациклился на моем массиве imageData
и вынул каждый четвертый пиксель.
for (int count_small = 0, count_large = 0; count_large < 1000; count_small += 3, count_large +=4)
{
dest[count_small] = source[count_large];
dest[count_small+1] = source[count_large+1];
dest[count_small+2] = source[count_large+2];
}
Не чистый, но он выполнил свою работу.
Ну, это очень полезно. ^^ Я думаю, я могу снова использовать img, и вам не нужно создавать новый IplImage «ipl_result»! – Guntram