2011-09-29 607 views
0

OpenCV提供了将Bayer转换为RGB的功能,但如何使用这个CV_BayerBG2BGR以及其他类似的函数? 我使用下面的代码,但是错误出现,表明无效的通道号。由于我使用RGB图像作为originalImage,无论如何这个功能实际上工作?如何将Bayer转换为使用OpenCV的RGB,反之亦然

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

不幸的是,OpenCV不提供BGR到拜耳转换。只有后向转换可用。

如果您需要转换为拜耳格式,那么您应该自己实施此转换或使用其他库。

+0

我明白了,谢谢。你有什么经验/建议哪些图书馆提供这个? –

相关问题