使用CIFilter的iOS图像周围的白色像素

用户名

我在现有的UIImage周围添加一个相框(具有透明背景的图像),并将其全部保存为一个图像。在模拟器上,一切看起来都运行良好。但是,在设备上,它会在帧图像的某些区域周围添加一些白色像素。这是我的代码:

- (void)applyFilter {
    NSLog(@"Running");

    UIImage *borderImage = [UIImage imageNamed:@"IMG_8055.PNG"];

    NSData *dataFromImage = UIImageJPEGRepresentation(self.imgView.image, 1);

    CIImage *beginImage= [CIImage imageWithData:dataFromImage];

    CIContext *context = [CIContext contextWithOptions:nil];
    CIImage *border =[CIImage imageWithData:UIImagePNGRepresentation(borderImage)];
    border = [border imageByApplyingTransform:CGAffineTransformMakeScale(beginImage.extent.size.width/border.extent.size.width, beginImage.extent.size.height/border.extent.size.height)];

    CIFilter *filter= [CIFilter filterWithName:@"CISourceOverCompositing"];  //@"CISoftLightBlendMode"];
    [filter setDefaults];
    [filter setValue:border forKey:@"inputImage"];

    [filter setValue:beginImage forKey:@"inputBackgroundImage"];

    CIImage *outputImage = [filter valueForKey:@"outputImage"];







    CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]];
    UIImage *newImg = [UIImage imageWithCGImage:cgimg];

    self.imgView.image = newImg;

}

这是结果图像:

在此处输入图片说明

图片中使用的框架图像如下所示:

在此处输入图片说明

这是photoshop中帧图像的屏幕截图,显示了PNG中不存在的那些像素。

在此处输入图片说明

The issue is that if you look at your image, those pixels immediately adjacent to the musical notes are apparently not transparent. And if you notice, those white pixels that appear in the final image aren't just the occasional pixel, but they appear in square blocks.

These sorts of squared-off pixel noise is a telltale sign of JPEG artifacts. It's hard to say what's causing this because the image you added to this question was a JPEG (which doesn't support transparency). I assume you must have a PNG version of this backdrop? You might have to share that with us to confirm this diagnosis.

但最重要的是,您需要仔细检查原始图像和那些看似白噪声的像素的透明度。确保在创建/处理这些图像时,避免使用JPEG文件格式,因为它会丢失透明度信息并引入伪影。PNG文件通常更安全。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

图像周围的白色边框

来自分类Dev

使用OpenCV检查图像是否全部为白色像素

来自分类Dev

使用 CUDA 的图像中白色像素索引列表

来自分类Dev

标签周围有图像的白色边框?

来自分类Dev

消除图像文字周围的白色轮廓

来自分类Dev

标签周围有图像的白色边框?

来自分类Dev

UIImage修剪圆圈IOS周围的白色区域

来自分类Dev

如何使用python删除图像中人物周围的白色边框/边缘?

来自分类Dev

使用python使用opencv / numpy查找彩色图像中的白色像素

来自分类Dev

PIL图像打开会将白色像素变成黑色像素

来自分类Dev

如何遍历图像上的白色像素并在每两个像素后添加节点并使用边连接该节点

来自分类Dev

如何在移动视图中删除图像周围的白色边框?

来自分类Dev

html文档中单个图像周围的白色边框

来自分类Dev

谷歌在白色背景中的红色图像周围镀铬绿色轮廓

来自分类Dev

Python-删除图像的非黑色像素(转换为白色)

来自分类Dev

计算图像中两点之间的白色像素

来自分类Dev

使用CIFilter后图像自动旋转

来自分类Dev

使用CIFilter后图像自动旋转

来自分类Dev

使用javacv创建白色图像

来自分类Dev

使用javacv创建白色图像

来自分类Dev

在iOS中用白色像素替换部分像素缓冲区

来自分类Dev

iOS Swift在图像周围包裹文字

来自分类Dev

iOS Swift在图像周围包裹文字

来自分类Dev

OpenCV:使用循环查找白色像素并将其填充

来自分类Dev

Python图像库:像素操作后保存的图像始终为白色

来自分类Dev

使用PHP检测白色图像背景?

来自分类Dev

使用Matlab识别图像中的白色汽车

来自分类Dev

使用python检测图像上的白色背景

来自分类Dev

如何在iOS中获取图像像素

Related 相关文章

热门标签

归档