【问题标题】:Image processing on the iPhoneiPhone 上的图像处理
【发布时间】:2010-01-22 20:56:31
【问题描述】:

我想对用 iPhone 拍摄的照片进行图像处理。 此处理将涉及二维矩阵卷积等。

恐怕嵌套NSArrays 的性能会很差。处理基于像素的图像的正确方法是什么?我应该简单地使用分配有malloc 的C 数组吗?

【问题讨论】:

    标签: iphone objective-c iphone-sdk-3.0 image-processing image-manipulation


    【解决方案1】:

    您是否查看过 iPhone SDK 中可用的 Quartz 2D 引擎?或者也许是核心图形? Apple 有一个很好的overview document 描述了 iPhone 上可用的所有不同的成像技术。不幸的是,iPhone 上还没有像 ImageKit 这样好的东西。

    【讨论】:

      【解决方案2】:

      我建议使用 OpenCV 图像处理库,因为它包含针对您想要的任何东西的优化算法。 OpenCV 肯定会比使用 NSArray 手动处理更快。 但有一个主要缺点 - OpenCV 库是用 C/C++ 编写的,因此您必须将 NSImage 转换为原生 OpenCV 图像格式才能进行处理。但是谷歌如何做到这一点真的很容易。 我在自己的 iPhone 项目中使用 OpenCV,这里是为 iPhone 构建 OpenCv 的小指南:http://computer-vision-talks.com/2010/12/building-opencv-for-ios/

      【讨论】:

        【解决方案3】:

        是的,您将使用 C 数组,因为无论如何这都是您取回像素数据的方式。

        如前所述,您应该看看是否可以使用 Quartz2D 进行您感兴趣的操作,因为基于硬件的它可能会更好地执行。如果没有,请自行处理像素数组。

        【讨论】:

          【解决方案4】:

          iPhone 也支持 OpenCL,而且它的 GPU 比 CPU 具有更多的处理能力。

          【讨论】:

          • 这是不正确的。 iPhone 目前不支持 OpenCL。
          猜你喜欢
          • 2011-08-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-04
          • 1970-01-01
          • 2012-04-30
          • 2011-04-20
          相关资源
          最近更新 更多