【发布时间】:2011-09-29 14:28:44
【问题描述】:
OpenCV 提供了将 Bayer 转换为 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是否也提供这个功能?
任何帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: visual-c++ opencv