我正在寻找一种方法将来自相机的RAW8图像转换为彩色图像NSImage / CIImage。
是否有一个框架类可以应用Bayer filter并给我一个彩色RGB图像?
即。我有一个8bpp的字节数组,我想要一个32bpp的RGB NSImage或CIImage。
我尝试了CIFilter filterWithImageData,但这会让Xcode停止使用EXC_BREAKPOINT?
答案 0 :(得分:1)
为什么不采用明显的解决方案:ImageIO.framework can handle RAW images。
答案 1 :(得分:0)
最后我想出了两个解决方案:
使用OpenCV(http://www.OpenCV.org):
CvMat M = cvMat(height, width, CV_8UC1, frame->image);
IplImage img;
cvGetImage(&M, &img);
IplImage *copyImg = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
cvCvtColor(&img, copyImg, CV_BayerBG2RGB);
但我错过了显而易见的事实:我使用libDC1394从相机获取图像,并提供了一种转换方法:
dc1394_debayer_frames(frame, new_frame, DC1394_BAYER_METHOD_NEAREST);