问题标签 [ciimage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1270 浏览

ios - 将过滤器应用于 UIImage 时,结果是颠倒的

这真的让我很烦。当我将 UIImage 转换为 CIImage 时,应用过滤器然后转换回图像是倒置的(对于横向)或逆时针旋转 90 度(对于纵向)。

0 投票
3 回答
468 浏览

ios - GPUImage中的GPUImageDivideBlendFilter,CIImage对应的过滤器是什么?

我试过这个:

取代:

但效果不一样。

0 投票
3 回答
980 浏览

ios - 更改 uiimage 饱和度的最高效方法(在动画期间)

我正在尝试在动画期间更改 UIImage 饱和度。但这样做似乎太重/太慢了:

每次用户拖动视图时都会调用此方法(当距离改变时,饱和度也会改变),这显然不是正确的方法,但我想要类似的行为。我想知道我是否可以通过 UIImageview 顶部的图层来实现这一点。

谁能建议我如何实现我的目标?

0 投票
2 回答
10666 浏览

ios - 给定一个 CIImage,将图像数据写入磁盘的最快方法是什么?

我正在使用 PhotoKit 并实现了过滤器,用户可以将其应用于照片库中的照片。我目前正在获取图像,应用过滤器,将编辑后的版本返回为CIImage,然后将其转换CIImageNSDatausing UIImageJPEGRepresentation,以便将其写入磁盘。虽然这很有效,但当用户尝试编辑非常大(如 30 MB)的照片时,可能需要 30 秒以上的时间才能完成,其中 98% 的时间都花在了UIImageJPEGRepresentation(从 Instruments 获得的统计数据)上。

如果可能的话,我正在寻找一种更有效的方法来将这张编辑过的照片保存到磁盘而不影响质量。

我知道UIImagePNGRepresentation可能会提高质量,但这甚至比 JPEG 表示还要慢。

这是我目前正在做的,在默认优先级线程(qos_class_utility)上:

0 投票
1 回答
922 浏览

ios - 如何在 Cocoa 上使用 CIAffineTile?

我有一个 CIImage,假设是 500x250 像素,我正在尝试平铺它,所以它将变成一张 1000x500 的图片,每行有两行两张图片,如下所示:

在此处输入图像描述

我正在尝试使用 Cocoa 上的 CIAffineTile 来做到这一点(我不确定这是否是最合适的过滤器)。

正如预期的那样,来自 Apple 的文档非常模糊和加密。

在此处输入图像描述

显然过滤器的调用方式必须与 iOS 和 OSX 不同,但 OSX 部分是神秘的。

这是我的代码:

我所做的是,我创建平铺过滤器,然后将其裁剪为每个方向上图片大小的两倍 + 2,以在它们之间创建 2 个像素的空间。

这会导致不正确的 CIImage。我看到的是这样的:

在此处输入图像描述

转换有什么问题?不是应该假设图像必须转换为平铺的像素数量吗?

最奇怪的部分:转换可以是任何东西,甚至身份转换和结果都是一样的。

我试图猜测如何在 OSX 上做到这一点,并想象出这样的事情:

但这以逆时针旋转 90 度 (???) 图像结束。

0 投票
1 回答
1054 浏览

avfoundation - 合并 CVPixelBuffers

我有 2 个图像的 CVPixelBuffers。我想合并两者,使第二个图像在我想要的坐标处的第一个图像之上。感谢是否有人可以指导我。

我不想使用上下文绘制,因为我试图降低 CPU 利用率。这些图像将是经过处理的屏幕截图,因此它是实时的,并且进行数千次上下文绘制会增加 CPU 利用率。

0 投票
2 回答
7015 浏览

ios - 将 CIImage 转换为 CGImage 太慢了

我需要将 a 转换CIImage为 a CGImage。这是我目前使用的代码:

但是对于常规尺寸的图像,他的代码行非常慢。慢得多,我可以正确使用它。是否有另一种更快的方法可以将它们转换CIImagesCGImages?

最后,我使用Core Graphics将 绘制CGImagesCGContext. 如果有办法直接绘制CIImages到 aCGContext我认为那也应该更快。这可能吗?

谢谢

0 投票
5 回答
1974 浏览

ios - 将元数据应用于图像会导致 performChanges 请求失败

我正在使用 PhotoKit 来编辑照片,我需要保留原始照片中的元数据。为此,我保存元数据,然后将其提供optionsCGImageDestinationAddImage. 我能够完成它并将其成功写入磁盘,但是当我调用performChanges提交资产编辑时,它失败了。如果我改为提供niloptions会成功。这里出了什么问题?

错误是:Error Domain=NSCocoaErrorDomain Code=-1 "The operation couldn’t be completed. (Cocoa error -1.)

0 投票
1 回答
1242 浏览

ios - 如何利用 kCIFormatRGBAh 在带有 Core Image 的 iOS 上获得半个浮点数?

我正在尝试获取CIImage浮点数的每像素 RGBA 值。

我希望以下工作,使用CIContext和呈现为kCIFormatRGBAh,但输出全为零。否则我的下一步就是从半浮点数转换为全浮点数。

我究竟做错了什么?我也在 Objective-C 中尝试过这个并得到相同的结果。

这是一个有关获取 的输出的相关问题CIAreaHistogram,这就是为什么我想要浮点值而不是整数的原因,但无论其来源、过滤器输出或其他方式如何,我似乎都无法kCIFormatRGBAh处理任何问题。CIImage

0 投票
1 回答
143 浏览

ios - iOS制作全屏问题截图

我有图像视图的自我视图:

在方法中,当我想在其他视图上显示自己的视图时,我会这样做:

如您所见,我想模糊基于主窗口视图的“图形上下文”。当我第一次展示自己的视图时,它工作得很好,但是,像模糊图像这样的东西会相互叠加。

所以这是我第一次展示我的视图时的图像:

在此处输入图像描述

当我多次展示我的视图时,模糊的图像看起来像这样:

在此处输入图像描述

所以你可以看到每次模糊的截图都是不同的,但我使用相同的方法来获取截图,并且不更新视图控制器或其他 ui 部分的内容。

在这里找到一些方法和图像类别。