我在极坐标(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()