gpt4 book ai didi

iphone - uiimage 到 iplimage

转载 作者:行者123 更新时间:2023-12-02 16:30:55 26 4
gpt4 key购买 nike

我尝试将黑白 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反而。

关于iphone - uiimage 到 iplimage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5537021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com