问题标签 [vimage]

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 投票
4 回答
3754 浏览

iphone - 有没有人有 iOS 上 vImage 处理的示例代码?

我已经阅读了所有可以找到的文档,但无法进行简单的 vImage 调用。我只需要一个真实的例子。文档非常稀少。

0 投票
2 回答
1323 浏览

ios - 为什么我不能在 iPhone 上编译引用 vImage 库的代码?

我正在尝试在我的代码中包含基于 vImage 的功能。但是编译失败 - 它甚至似乎根本无法识别函数/变量。

但与此同时,基于 vDSP 的代码似乎运行良好。此外,代码在模拟器中编译但在设备中失败。

示例代码(失败)如下

在这里,DSPComplex 是基于 DSP 的代码,在同一框架中 - 工作正常,而 vImagePixelCount - 这是基于 vImage 的代码 - 它失败了。谁可以帮我这个事?iOS4 中不包含 vImage 吗?

我在设备中使用 iOS4.2。

0 投票
2 回答
2435 浏览

ios - Accelerate 的 vImage 与 vDSP

我正在尝试使用 iOS 上的 Accelerate 框架来绕过 iOS 上的 Core Image 不支持自定义过滤器/内核的事实。我正在开发一个边缘检测滤波器,使用两个卷积和一个Sobel 内核,但是从一个简单的高斯模糊开始来掌握它的窍门。我知道 vImage 适合作为矩阵进行图像处理,而 vDSP 专注于使用傅里叶变换处理数字信号。但是虽然我开始使用 vImage 函数(vImageConvolve_XXXX 等),但我听到很多人在讨论使用 vDSP 的函数(vDSP_conv、vDSP_imgfir 等)来做卷积之类的事情。所以这让我想到了手头的问题:我什么时候应该使用一个而不是另一个?它们在卷积操作方面有什么区别?我到处寻找,但找不到明确的答案。有人可以阐明它,或者指出我正确的方向吗?

谢谢!

0 投票
3 回答
1297 浏览

ios - 如何使用加速框架(vImage)缩放灰度图像

嗨,我需要快速缩放灰度图像,所以我尝试了 vImage 并且应用程序崩溃了,请帮忙。在下面的代码中 srcimg.data/dstimg.data 是指向无符号字符图像数据的点(仅单通道灰度数据)。

0 投票
4 回答
581 浏览

ios - iOS Cocoa Touch vImage 二次采样

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

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

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

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

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

0 投票
3 回答
1036 浏览

objective-c - vImageConvert 提取一个通道

如何使用 vImage 从图像中“提取”一个通道?我现在的做法是:

redBuffer 是一个工作图像,没有错误,但 vImageConvert 给了我一个 EXC_BAD_ACCESS,我尝试了很多选项,有些导致 EXC_BAD_ACCESS 和一些导致输出图像损坏。我究竟做错了什么?

因此,多亏了 Rob Keniger,我设法提取了通道,但是如果我尝试将它们与其他通道重新组合在一起,图像会被水平拉伸并带有 RGB 条纹。为什么他们没有正确地重新组合在一起?这是一个提取通道然后将它们重新组合在一起的示例:

0 投票
3 回答
172 浏览

objective-c - vImage 没有将通道正确地重新组合在一起

我尝试使用 vImageConvert_RGB888toPlanar8 从图像中提取所有 3 个通道,然后将它们与 vImageConvert_Planar8toRGB888 一起放回原处,但图像完全搞砸了。这是为什么?

0 投票
3 回答
680 浏览

ios - 如何编译vImage浮雕效果示例代码?

以下是文档中的代码:

这就是问题所在:内核变量似乎指的是三种不同的类型:

  1. 形参列表中的 void * kernel
  2. 一个未定义的 unsigned int uint_8 内核,作为一个新变量,它可能会影响形参
  3. 调用 vImageConvolve_ARGB8888 时的 const signed int *kernel。

这是实际代码吗?我该如何编译这个函数?

0 投票
2 回答
1507 浏览

ios - 如何将 Accelerate Framework 与 Core Graphics 一起使用?

我有一个项目。它基本上是从 iPhone 相机拍摄照片并对照片应用一些效果。在应用效果之前,我使用核心图形将图像缩放到适当的大小。缩放和旋转图像后,我使用 Accelerate 框架(vImage)来创建效果。我的问题是在应用效果后它最终变成了一些蓝色的图像。但是,如果我不使用核心图形缩放图像,则不会发生这种蓝色外观。

我使用的缩放代码来自这篇文章。

这是我应用效果的代码:

0 投票
5 回答
3681 浏览

objective-c - 如何使用 Accelerate Framework 将 iOS 相机图像转换为灰度?

看起来这应该比我想象的要简单。

AVFoundation在标准委托方法中返回了一个框架:

我想使用Accelerate.Framework.

框架中有一系列转换方法,包括vImageConvert_RGBA8888toPlanar8(),看起来这可能是我想看到的,但是,我找不到任何如何使用它们的示例!

到目前为止,我有代码:

所以我有两个问题: (1)在上面的代码中,是RBGA8888正确的起始格式吗?(2) 我如何才能真正Accelerate.Framework调用转换为灰度?