【问题标题】:Help with image processing in an iPhone app帮助 iPhone 应用程序中的图像处理
【发布时间】:2011-01-25 17:38:30
【问题描述】:

我正在使用 MATLAB 中的图像处理工具。如何将 MATLAB 代码转换为 Objective-C?

以下是我想做的一些任务:

  • 我想将一条斜线旋转为法线。

  • 我有将彩色图像转换为黑白图像的算法。 (如何在 Objective-C 中访问像素颜色值?)

  • 在函数getrgbfromimage中,如何访问像素值的输出到consol?

  • 如何对数组的每个元素运行函数 (getrotatedımage)?

【问题讨论】:

    标签: iphone objective-c matlab


    【解决方案1】:

    Quartz 2D(又名 Core Graphics)是 iOS 中的 2D 绘图 API。 Quartz 很可能会做你正在寻找的一切。我建议查看文档中的Quartz 2D Programming Guide。对于您的具体要求,请查看以下部分:

    • 颜色和色彩空间 - 用于彩色和黑白图像
    • 变换 - 用于旋转或执行任何仿射变换
    • 位图图像和图像掩码 - 了解底层图像数据的信息

    至于在数组的每个元素上运行函数,您可以使用块迭代 API(只要您的应用需要 iOS 4.0 或更高版本)。一个例子:

    [myArray enumerateObjectsUsingBlock:^(id item, NSUInteger index, BOOL *stop) {
      doSomethingWith(item);
    }];
    

    如果只想对数组中的每一项调用一个方法,还有:

    [myArray makeObjectsPerformSelector:@selector(doSomething)];
    

    【讨论】:

      【解决方案2】:

      CGBitmapContext 将从图像中获取像素值。

      http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGBitmapContext/Reference/reference.html

      这有相同的演示代码。

      Retrieving a pixel alpha value for a UIImage (MonoTouch)

      printf 会将 RGB 值转储到控制台。

      NSArray 或 NSMutableArray 将保存您的图像,一个简单的 for 循环将让您遍历它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-27
        • 2011-09-21
        • 1970-01-01
        相关资源
        最近更新 更多