【问题标题】:Cartesian image to polar coordinate笛卡尔图像到极坐标
【发布时间】:2019-05-02 13:46:29
【问题描述】:

我知道这个问题已经回答了很多时间,但我不知道我在做什么是好是坏。

我得到了一个包含缺陷位置和图像 ID 的文件。图像尺寸为 96*96。原点是 (48,48)

imgID  X        Y
1      5        6
1      87       76
2      45       23

据此计算R和T

x,y = df.X-48,df.Y-48
r = np.sqrt(x**2+y**2)
t = np.arctan2(y,x)
df["r"]=r
df["t"]=t

然后我为每个图像创建大小为 96*96 的空矩阵,对于图像 1(例如)我在每个坐标 (R,T) 处分配值 0

当我绘制我的矩阵时,我的结果很奇怪。我错过了一些重要的东西吗?

【问题讨论】:

  • 不清楚你在问什么,你想达到什么目的?预期结果与实际结果是什么?
  • 抱歉,不清楚。我“只是”想在表示极坐标图像的矩阵中转换一个表示笛卡尔坐标图像的矩阵。我不知道这是否更有意义。例如,在这个网站上,你可以转换图片:photo-kako.com/fr/polar-coordinate.cgi
  • 您能否展示一个更完整的代码示例?例如,df.X 是什么?如何创建空矩阵以及如何为其赋值?是否将RT 转换为整数来制作下标?

标签: python image polar-coordinates


【解决方案1】:

不确定您是坚持使用 Python 解决方案,还是只想完成工作。如果是前者,请忽略我,我的答案将沉没。如果是后者,您可以使用 ImageMagick 来做到这一点,它安装在大多数 Linux 发行版上,适用于 macOS 和 Windows。

所以,从这个colorwheel.png开始:

只需在终端中使用以下命令,或者如果在 Windows 上使用命令提示符:

magick colorwheel.png -distort depolar 0 result.png

有点“关闭”,因为我的输入图像不完全是正方形或居中,但你明白了:-)

-distort depolar 替换为-distort polar 以进行逆变换。

对于 v7 之前的版本,将上述命令中的 magick 替换为 convert

【讨论】:

  • 不寻常的是,我需要用 python 来做,因为我得到了一百万张图片,而且我会花费太多时间来进行转换
  • 你可以使用 Python Wand 来做到这一点。它基于 Imagemagick,因此具有扭曲的去极/极性。见docs.wand-py.org/en/0.5.3。在docs.wand-py.org/en/0.5.3/wand/image.html的图像部分搜索扭曲
猜你喜欢
  • 1970-01-01
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 2016-04-14
相关资源
最近更新 更多