Как конвертировать Bayer в RGB с использованием OpenCV и наоборот - PullRequest
0 голосов
/ 29 сентября 2011

OpenCV предоставил функцию для преобразования Байера в RGB, но как использовать эту CV_BayerBG2BGR и другие подобные функции?Я использовал код ниже, но появляется сообщение об ошибке с указанием неверного номера канала.Так как я использую изображение RGB в качестве originalImage, в любом случае, как эта функция на самом деле работает?

void main(){
// Declare and load the image
// Assume we have sample image *.png
IplImage *originalImage = cvLoadImage("bayer-image.jpg",-1);

// The image size is said to be 320X240
IplImage *bayer2RGBImage;
bayer2RGBImage = cvCreateImage(cvSize(100,100),8,3);
cvCvtColor(originalImage,bayer2RGBImage,CV_BayerBG2BGR);

//Save Convertion Image to file.
cvSaveImage("test-result.jpg",bayer2RGBImage);

//Release the memory for the images that were created.
cvReleaseImage(&originalImage);
cvReleaseImage(&bayer2RGBImage);}

Кроме того, я хотел бы также преобразовать обычное изображение RGB в байерский формат (скажем, билинейный), будет ли OpenCV предоставлять эту функциюа также?

любая помощь будет очень признательна.

Заранее спасибо.

1 Ответ

1 голос
/ 29 сентября 2011

К сожалению, OpenCV не предоставляет конвертацию BGR в байеровскую систему.Доступно только обратное преобразование.

Если вам нужно преобразование в формат Байера, вам следует выполнить это преобразование самостоятельно или использовать другую библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...