【发布时间】:2016-09-23 16:11:35
【问题描述】:
我正在尝试计算一种将笛卡尔坐标中的图像转换为极坐标表示的有效方法。我知道一些功能,如 ImToPolar 正在执行此操作,它运行良好,但对于大图像需要相当长的时间,尤其是当它们需要来回处理时。
这是我的输入图像:
然后我使用以 0 为中心的笛卡尔网格和函数cart2pol() 生成极坐标网格。最后,我使用mesh(theta, r, Input) 绘制我的图像。
这是我得到的:
它正是我需要的图像,它与ImToPolar 相同,或者可能更好。
既然 MATLAB 知道如何计算它,那么有人知道如何从这个输出中提取一个极坐标表示的矩阵吗?或者可能是在 MATLAB 上计算极坐标变换(和逆变换)的快速(如快速傅立叶变换)方式?
【问题讨论】:
-
您需要将极坐标图像插入到常规网格上吗?您的方法导致非方形“像素”
-
Here 是 OCTAVE 的 cart2pol 来源。它可能需要一些更改才能使用。我不知道它是否会更快。你也许可以适应它。我猜 MATLAB 有很多开销,你也许可以摆脱它。
标签: image matlab polar-coordinates cartesian