【问题标题】:iOS convert a region defined in polar coordinates to an NxN matrixiOS 将极坐标中定义的区域转换为 NxN 矩阵
【发布时间】:2013-01-29 23:24:42
【问题描述】:

好的,所以情况是我想创建一个表示位图图像像素的 NxN 矩阵。
然后,我想将落在某个区域的所有像素的值更改为恒定值。

区域是使用极坐标定义的。

例如, 让矩阵表示一个 2048x2048 像素位图,区域由 25

解决此问题的最佳方法是什么?
我应该查看 Apple 的任何库,例如 vImage,还是 Accelerate 框架的一部分等,
或者这是一个非常具体的问题,我必须手动处理它,检查我的 NxN 矩阵中的每个像素,看看它是否位于感兴趣的区域?

似乎必须有一种比硬编码几个 for 循环更有效的方法。特别是如果该区域有一些任意定义,比如用户绘制的波浪形循环。

建议?

【问题讨论】:

  • 我应该提到,目的是能够对矩阵进行数学运算,然后将其转换为图像,特别是制作热图。

标签: ios image math matrix


【解决方案1】:

Accelerate Framework 提供了许多处理图像的功能。

在您的情况下,我推荐vImage Framework,它具有使用lookup tables 进行图像转换的vImageTableLookUp_* 函数。

例如,如果 red 值从 25 到 200 应该是常数,则创建一个数组

int red[256];
for (int i = 0; i < 256; i++) {
    if (i >= 25 && i < 200) {
        red[i] = MY_CONSTANT_VALUE;
    } else {
        red[i] = i;
    }
}

并将该数组传递给上面的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2022-01-25
    • 1970-01-01
    • 2016-02-28
    相关资源
    最近更新 更多