You should use cvSaveImage for that. cvSave saves image in XML/YAML format. Or as an option you can take raw image data and get PNG/JPEG representation usingUIImagePNGRepresentation()/UIImageJPEGRepresentation() and save using [NSData writeToFile...]
To convert IplImage to UIImage use:
UIImage* CreateUIImageFromIplImage(IplImage* ipl_image) {
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
NSData* data = [NSData dataWithBytes: ipl_image->imageData length: ipl_image->imageSize];
CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)data);
CGImageRef imageRef = CGImageCreate(ipl_image->width, ipl_image->height,
ipl_image->depth, ipl_image->depth * ipl_image->nChannels, ipl_image->widthStep,
colorSpace, kCGImageAlphaNone|kCGBitmapByteOrderDefault,
provider, NULL, false, kCGRenderingIntentDefault);
UIImage* ret = [UIImage imageWithCGImage: imageRef];
CGImageRelease(imageRef);
CGDataProviderRelease(provider);
CGColorSpaceRelease(colorSpace);
return ret;
}
本文介绍如何将OpenCV中的IplImage数据结构转换为iOS中的UIImage,并提供了使用cvSaveImage保存图片的方法。此外,还展示了如何通过UIImage将原始图像数据转换为PNG或JPEG格式并保存。
9594

被折叠的 条评论
为什么被折叠?



