如何在Python中将图像从Polar重新投影到笛卡尔坐标?

时间:2017-12-19 13:11:07

标签: python image opencv image-processing

我在极坐标(phi, r)中给出了一个形状为(361, 1001)的图像。

我想制作一个形状为(3000, 3000)的笛卡尔图像,以便在QGraphicsScene上使用它。

怎么做?

P.S。刚才我尝试用OpenCV linearPolar函数重新投影它,但不能设置输出图像大小。 AFAIK,OpenCV缺乏这样的选择。

import numpy as np
import matplotlib.pyplot as plt
import cv2

phi_grid = np.linspace(0, np.pi / 3, 361)
r_grid = np.linspace(0, 1, 101)
phi_mesh, r_mesh = np.meshgrid(phi_grid, r_grid, indexing="ij")

amp_mesh = r_mesh + phi_mesh

x_mesh = r_mesh * np.cos(phi_mesh)
y_mesh = r_mesh * np.sin(phi_mesh)

out_pic = cv2.linearPolar(amp_mesh, (0, 180), 101, cv2.WARP_INVERSE_MAP | cv2.WARP_FILL_OUTLIERS)

plt.imshow(out_pic)
plt.show()

How can I make it 3000x3000????

0 个答案:

没有答案