问题标签 [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.
iphone - 有没有人有 iOS 上 vImage 处理的示例代码?
我已经阅读了所有可以找到的文档,但无法进行简单的 vImage 调用。我只需要一个真实的例子。文档非常稀少。
ios - 为什么我不能在 iPhone 上编译引用 vImage 库的代码?
我正在尝试在我的代码中包含基于 vImage 的功能。但是编译失败 - 它甚至似乎根本无法识别函数/变量。
但与此同时,基于 vDSP 的代码似乎运行良好。此外,代码在模拟器中编译但在设备中失败。
示例代码(失败)如下
在这里,DSPComplex 是基于 DSP 的代码,在同一框架中 - 工作正常,而 vImagePixelCount - 这是基于 vImage 的代码 - 它失败了。谁可以帮我这个事?iOS4 中不包含 vImage 吗?
我在设备中使用 iOS4.2。
ios - Accelerate 的 vImage 与 vDSP
我正在尝试使用 iOS 上的 Accelerate 框架来绕过 iOS 上的 Core Image 不支持自定义过滤器/内核的事实。我正在开发一个边缘检测滤波器,使用两个卷积和一个Sobel 内核,但是从一个简单的高斯模糊开始来掌握它的窍门。我知道 vImage 适合作为矩阵进行图像处理,而 vDSP 专注于使用傅里叶变换处理数字信号。但是虽然我开始使用 vImage 函数(vImageConvolve_XXXX 等),但我听到很多人在讨论使用 vDSP 的函数(vDSP_conv、vDSP_imgfir 等)来做卷积之类的事情。所以这让我想到了手头的问题:我什么时候应该使用一个而不是另一个?它们在卷积操作方面有什么区别?我到处寻找,但找不到明确的答案。有人可以阐明它,或者指出我正确的方向吗?
谢谢!
ios - 如何使用加速框架(vImage)缩放灰度图像
嗨,我需要快速缩放灰度图像,所以我尝试了 vImage 并且应用程序崩溃了,请帮忙。在下面的代码中 srcimg.data/dstimg.data 是指向无符号字符图像数据的点(仅单通道灰度数据)。
ios - iOS Cocoa Touch vImage 二次采样
我正在使用 Cocoa Touch 中的 vImages,在我的情况下,它基本上是 ARGB-float-Arrays,我需要进行二次采样。使用 vImage 函数进行低通滤波没有问题,但我如何选择一个 2x2 像素(假设我想按因子 2 进行二次采样)?当然我可以使用 vDSP stride 函数,但这仅适用于水平子采样,而不适用于垂直子采样。
我希望以下内容能阐明我打算做什么。我希望选择所有标有 X 的像素,如下图所示:
但由于内存是线性的,我的数组看起来像这样:
如何以合理的方式执行子采样?
编辑:我正在寻找一种有效的方法来对存储为一维浮点数组(包括负值)的给定位图进行二维下采样。
objective-c - vImageConvert 提取一个通道
如何使用 vImage 从图像中“提取”一个通道?我现在的做法是:
redBuffer 是一个工作图像,没有错误,但 vImageConvert 给了我一个 EXC_BAD_ACCESS,我尝试了很多选项,有些导致 EXC_BAD_ACCESS 和一些导致输出图像损坏。我究竟做错了什么?
因此,多亏了 Rob Keniger,我设法提取了通道,但是如果我尝试将它们与其他通道重新组合在一起,图像会被水平拉伸并带有 RGB 条纹。为什么他们没有正确地重新组合在一起?这是一个提取通道然后将它们重新组合在一起的示例:
objective-c - vImage 没有将通道正确地重新组合在一起
我尝试使用 vImageConvert_RGB888toPlanar8 从图像中提取所有 3 个通道,然后将它们与 vImageConvert_Planar8toRGB888 一起放回原处,但图像完全搞砸了。这是为什么?
ios - 如何编译vImage浮雕效果示例代码?
以下是文档中的代码:
这就是问题所在:内核变量似乎指的是三种不同的类型:
- 形参列表中的 void * kernel
- 一个未定义的 unsigned int uint_8 内核,作为一个新变量,它可能会影响形参
- 调用 vImageConvolve_ARGB8888 时的 const signed int *kernel。
这是实际代码吗?我该如何编译这个函数?
ios - 如何将 Accelerate Framework 与 Core Graphics 一起使用?
我有一个项目。它基本上是从 iPhone 相机拍摄照片并对照片应用一些效果。在应用效果之前,我使用核心图形将图像缩放到适当的大小。缩放和旋转图像后,我使用 Accelerate 框架(vImage)来创建效果。我的问题是在应用效果后它最终变成了一些蓝色的图像。但是,如果我不使用核心图形缩放图像,则不会发生这种蓝色外观。
我使用的缩放代码来自这篇文章。
这是我应用效果的代码:
objective-c - 如何使用 Accelerate Framework 将 iOS 相机图像转换为灰度?
看起来这应该比我想象的要简单。
我AVFoundation
在标准委托方法中返回了一个框架:
我想使用Accelerate.Framework
.
框架中有一系列转换方法,包括vImageConvert_RGBA8888toPlanar8()
,看起来这可能是我想看到的,但是,我找不到任何如何使用它们的示例!
到目前为止,我有代码:
所以我有两个问题:
(1)在上面的代码中,是RBGA8888
正确的起始格式吗?(2) 我如何才能真正Accelerate.Framework
调用转换为灰度?