在Mac OS X上开始使用图像处理

时间:2012-08-01 08:44:28

标签: objective-c macos cocoa image-processing

我最近从PC转移到MacBook Pro。我开始学习Objective-C的教程并在Cocoa中进行开发。我在我的日常工作中做了很多图像处理算法开发工作(逐像素操作),所以我想为OS X创建一个或两个测试图像处理应用程序。我很难弄清楚从哪里开始 - 假设我想创建一个简单的应用程序(我可以重用),如下所示:

  1. 从文件菜单中的打开文件选项加载图像
  2. 在GUI中显示。
  3. 单击按钮以逐像素处理
  4. 更新显示的图像
  5. 从文件菜单中的保存选项中保存已处理的图像
  6. 任何指针或链接都将非常受欢迎。

    由于

    其他信息:

    1. 我对Linux中的OpenCV非常熟悉 - 但是还没有考虑在Objective-C / Cocoa / Xcode环境中使用它 - 甚至不确定这是不是一个好主意?

    2. 我觉得使用GPU加速也不错,但我不熟悉OpenGL / OpenCL - 所以我可能不得不把它放在长手指上。

2 个答案:

答案 0 :(得分:5)

当您查看Apple平台时,您应该查看CoreImage框架 - 它将为您提供大部分准备好在您的应用程序中使用的预烘焙cookie。

出于更高级的目的,您可以从openCV开始。

祝你好运!!

答案 1 :(得分:1)

正如samfisher所说,OpenCV并不难以在Mac上运行,Core Image是一个很棒的Cocoa框架,用于进行GPU加速图像处理。我正在努力将我的GPUImage框架从iOS移植到Mac,它完全适合于使加速图像处理易于使用,但不幸的是,它现在无法正常工作。

如果你刚开始使用Mac,我可以指出一个你可能会忽略的工具是Quartz Composer。您必须从Apple's developer site下载单独的图形工具包以安装Quartz Composer,因为它不再随Xcode一起提供。

Quartz Composer是一个图形开发工具,可让您拖放模块,连接输入和输出,并快速开发一些相当有趣的东西。它的一项重要任务是使用Core Image或OpenGL着色器进行图像处理的快速原型设计。我甚至听说有人使用OpenCV使用自定义补丁。您可以轻松地将图像或相机源连接到过滤器链中,然后编辑过滤器并在处理过程中查看实时更新,而无需编译运行周期。

如果你想要一些样本QC项目,我有几个链接来自我几年前写的this article。它们都使用相同的基于颜色的对象跟踪,其中一个使用Core Image和其他OpenGL着色器。你可以深入研究并发挥作用,看看它是如何工作的,而不必过多地编写任何代码。