问题标签 [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 投票
2 回答
3094 浏览

ios - How to go from vImage_Buffer to CVPixelBufferRef

I'm recording live video in my iOS app. On another Stack Overflow page, I found that you can use vImage_Buffer to work on my frames.

The problem is that I have no idea how to get back to a CVPixelBufferRef from the outputted vImage_buffer.

Here is the code that is given in the other article:

And now I need to convert outBuff to a CVPixelBufferRef.

I assume I need to use vImageBuffer_CopyToCVPixelBuffer, but I'm not sure how.

My first attempts failed with an EXC_BAD_ACCESS: CVPixelBufferUnlockBaseAddress(imageBuffer, 0);

Any idea?

0 投票
3 回答
3282 浏览

ios - 在 swift 中使用 vImageHistogramCalculation 计算图像的直方图

我正在尝试使用 AcceleratevImageHistogramCalculation_ARGBFFFF函数计算图像的直方图,但我得到了一个vImage_Error类型kvImageNullPointerArgument(错误代码是-21772)。

这是完全相同的问题,但我正在使用 Swift:Compute the histogram of an image using vImageHistogramCalculation

问题出在直方图变量中,我需要重新创建如下内容:

建议?

0 投票
3 回答
2368 浏览

ios - 如何在 iOS 8 的 Accelerate 框架中使用 vImage 缩放图像?

我正在尝试在 iOS 8 设备上尽快调整 CMSampleBufferRef 的大小以用于图像处理。从我在网上找到的内容来看,这样做的方法似乎是使用 Accelerate 框架中的vImage API。但是,我对 Accelerate 框架所做的工作并不多,而且我不太清楚如何做到这一点。到目前为止,这是我将图像缩放到 200x200 的内容:

其中 outBuffer 是结果。之后,我也不确定如何将 outBuffer 转换回 CVImageBufferRef 以进行进一步的图像处理。任何建议,将不胜感激!

0 投票
0 回答
774 浏览

objective-c - Correctly freeing a buffer from vImageBuffer_InitWithCVPixelBuffer

I'm attempting to convert CVPixelBufferRefs from a video source to CGImageRefs using vImage convert libraries on 10.10. This for the most part works fine. However, each time I initialize a new vImage_Buffer from my CVPixelBufferRef, memory is gobbled up that is never returned.

Here is a simplified version of the conversion, that should ideally use no memory at the end of the day:

Commenting out the last two lines (the init and free) effectively uses no more memory than what I started with. With the two lines there, however, 6 MB are being consumed each time.

If I only comment out the free, even more memory is being consumed, so the free is definitely doing something, but I can only assume vImageBuffer_InitWithCVPixelBuffer is using more memory than it is supposed to. Has anyone else seen this?

For completion, here is the whole conversion method to go from CVPixelBufferRef to NSImage:

0 投票
1 回答
2220 浏览

ios - iOS 使用 vImage - 加速将 QCAR YUV 转换为 RGB

我正在尝试测试转换 Vuforia 生成的 YUV 图像并将它们转换为UIImage使用 iOS Accelerate Framework 的 vImage 调用的性能。在代码的当前状态下,我只是想让它工作。现在转换会产生深色条纹图像。是否有任何关于 Vuforia 如何在其实施中布置 YUV 格式的已发布细节?我最初的假设是他们使用了 iOS 设备使用的双平面 420p 格式。相关测试代码如下。

0 投票
2 回答
992 浏览

ios - 如何使用 Metal API 或 Accelerate Framework 绘制裁剪的位图?

我正在实现一个裁剪视频帧的自定义视频合成器。目前我使用核心图形来做到这一点:

我如何使用 Metal API 来做到这一点?它应该快得多,对吧?使用 Accelerate 框架(特别是 vImage)怎么样?那会更简单吗?

0 投票
1 回答
366 浏览

ios - vImage_Buffer 没有渲染到 CGContext,为什么?

下面的代码尝试获取图像,将其组件提取到 vImage_Buffer 中,然后循环通过此缓冲区并获取每个组件并通过填充 outputBuffer 来反转红色和蓝色通道。之后,我想获取结果 outputBuffer 并从中创建一个 UIImage 。

即使以下代码编译并运行良好,但 outputImage 是空白的,我没有收到任何错误。

那么,上面的代码有什么问题呢?

PS:我知道对于反转通道,我可以使用一些 vImage_ 函数,但这不是我想要达到的目的。我想要实现的是通过一一改变图像的每个像素来改变图像。最终我的意图是创建一个 DisplacementMapFilter(根据提供的地图转换图像像素)。

0 投票
1 回答
404 浏览

ios - 对于IOS,如何使用vImage将ARGB图像转换为灰度图像

我是IOS APP开发的大一,遇到一个问题:“如何使用vImage将ARGB图像转换为灰度图像”。实际上,我已经通过其他方法实现了这种转换处理。但是,我发现“vImage”可以通过“加速框架参考”完成这项工作。我试过这种方法,但没有任何转换结果。在这里,我附上代码,你能帮我吗?

0 投票
1 回答
130 浏览

cocoa-touch - UIImageEffects:当高斯半径超过 280 时出现白色图像,vImageBoxConvolve_ARGB8888 问题?

我正在使用 Apple 的UIImageEffects示例中的高斯模糊算法:

我也在处理一些相当大的图像。不幸的是,当半径超过 280 时,无论分辨率如何,模糊的图像都会突然变得几乎完全空白。这里发生了什么?是否vImageBoxConvolve_ARGB8888有未记录的内核宽度/高度限制?或者它是否与从半径计算盒子内核宽度的方式有关?


编辑:

在这里发现了一个类似的问题:vImageBoxConvolve: errors when kernel size > 255。280 的高斯半径大致转换为 260 大小的内核,因此该部分匹配。

0 投票
1 回答
179 浏览

ios - 使用 vImageHistogramCalculation 计算图像直方图的问题

vImageHistogramCalculation在我当前的应用程序中使用了计算图像的直方图,在某些情况下我得到了EXC_BAD_ACCESS 。我经历了如下案例 -

  1. 我使用了PNG格式的 iPhone 相机胶卷中的图像,并在上面的代码中手动放入 bundle 中,它工作正常。

  2. 我对 iPhone 相机胶卷中JPG格式的图像使用了相同的代码,然后出现 EXC_BAD_ACCESS 错误。

  3. 我尝试使用照片框架从相机胶卷中获取图像,然后传递给相同的代码,然后我也收到 EXC_BAD_ACCESS 错误。

我真正需要的是找到iPhone 相机胶卷所有图像的直方图。所以我无法找出为什么上面的代码对一种图像格式工作正常而对另一种图像格式失败。还有其他原因导致崩溃吗?

编辑 1-我得出的不是图像格式,它对于某些 JPG 图像也可以正常工作,但在某些情况下仍然会崩溃。我应该如何弄清楚?

参考

https://developer.apple.com/library/mac/documentation/Performance/Reference/vImage_histogram/#//apple_ref/c/func/vImageHistogramCalculation_ARGBFFFF

使用 vImageHistogramCalculation 计算图像的直方图