2011-09-29 145 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

我明白了,謝謝。你有什麼經驗/建議哪些圖書館提供這個? –

相關問題