gpt4 book ai didi

iOS Cocoa Touch vImage 子采样

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:49:31 24 4
gpt4 key购买 nike

我在 Cocoa Touch 中使用 vImages,在我的例子中,它基本上是 ARGB float 组,我需要进行子采样。低通滤波使用 vImage 函数没有问题,但如何从 2x2 像素中选择一个(假设我想按因子 2 进行子采样)?当然,我可以使用 vDSP 步幅函数,但这仅适用于水平二次采样,不适用于垂直二次采样。

我希望以下内容能够阐明我打算做什么。我希望选择所有标有 X 的像素,如下图所示:

X O X O X O
O O O O O O
X O X O X O
O O O O O O
X O X O X O
O O O O O O

但是由于内存是线性的,所以我的数组看起来是这样的:

X O X O X O O O O O O O X O X O X O O O O O O O X O X O X O O O O O O O

如何以合理的方式进行子采样?

编辑:我正在寻找一种有效的方法来对存储为一维 float 组(包括负值)的给定位图进行二维下采样。<​​/p>

最佳答案

现实情况是,当您进行这种子采样时,实际上并没有什么可以做的聪明的事情;跨步内存访问不允许使用很多技巧来加快速度,因此您使用的任何库代码本质上都等同于您可能在几分钟内自行编写的 C 代码。我会使用简单的 C 实现。

我相信这可以在 GPU 上相当高效地完成,但除非您的数据已经在 GPU 上下文中,否则这不会是性能上的胜利。如果您必须先将数据传输到那里,那么该成本将抵消实际操作中的任何性能节省。

关于iOS Cocoa Touch vImage 子采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11993468/

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