iphone - uiimage 到 iplimage

我尝试将黑白 UIImage 转换为 IplImage,但从控制台提供这些。可以做什么?

CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 16 bits/pixel; 1-component color space; kCGImageAlphaPremultipliedLast; 84 bytes/row.

CGContextDrawImage: invalid context 0x0.


notaImage = [UIImage imageWithCGImage:drawImage];
         //UIImageWriteToSavedPhotosAlbum(notaImage, self, @selector(imageSavedToPhotosAlbum: didFinishSavingWithError: contextInfo:), nil);
         vec_iphone.push_back(notaImage);    
         CGImageRef i_Ref = notaImage.CGImage;

         CGColorSpaceRef color_S = CGColorSpaceCreateDeviceGray();
             // Creating temporal IplImage for drawing
         IplImage *nota_img = cvCreateImage(
                                  cvSize(notaImage.size.width,notaImage.size.height), IPL_DEPTH_8U, 1
                                 );
             // Creating CGContext for temporal IplImage
         CGContextRef c_Ref = CGBitmapContextCreate(
                                        nota_img->imageData, nota_img->width, nota_img->height,
                                        nota_img->depth, nota_img->widthStep,
                                        color_S, kCGImageAlphaPremultipliedLast|kCGBitmapByteOrderDefault
                                      );

             // Drawing CGImage to CGContext
             CGContextDrawImage(
                                c_Ref,
                                CGRectMake(0, 0, notaImage.size.width, notaImage.size.height),
                                i_Ref
                                );

             //


             vec_images.push_back(nota_img);
             CGContextRelease(c_Ref);
             CGColorSpaceRelease(color_S);
             CGImageRelease(i_Ref);

最佳答案

由于您的输入图像是灰色的,因此您的上下文格式不包含任何 alpha channel ,因此使用 kCGImageAlphaPremultipliedLast是不正确的。试试 kCGImageAlphaNone反而。

https://stackoverflow.com/questions/5537021/

相关文章:

xcode4 - OpenCV,调用contourArea导致getMat中的断言失败

image - 2幅图像之间的联合直方图

opencv - 如何删除 OpenCV FileStorage 对象中的文件节点

opencv - 如何从gpuHog获取描述符?

matlab - 检测网格方向和属性

opencv - 使用JavaCV开发我们需要安装什么?

image - 处理DMatch向量,访问数据Opencv

opencv - SiftFeatureDetector .detect函数损坏?

c# - 从_capture.QueryFrame()删除背景

qt - Qt试图包括openCV库文件