OpenCV提供了将Bayer转换为RGB的功能,但是如何使用 CV_BayerBG2BGR 和其他类似功能?
我在下面使用了代码,但是错误显示为无效 channel 号。由于我将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);}
最佳答案
不幸的是,OpenCV不提供BGR到拜耳的转换。仅向后转换可用。
如果需要转换为Bayer格式,则应自己实现此转换或使用其他库。
https://stackoverflow.com/questions/7598854/