我正在研究一种透视变换应用程序,该应用程序涉及将3D点转换为2D相机像素。这是一个纯粹的数学模型,因为我正准备在我实际上无法使用的硬件上使用它(因此,我将为固有相机矩阵计算焦距和偏移值)。
进行映射时,根据相机的xyz位置,在变换后的图像位置上会有很大的差异,并且必须在要输入像素的矩阵做得很大。 (我将1000x1000像素的图像映射到大约600x600像素的图像,但是它位于6000左右,所以我必须将输出矩阵设置为7000x7000,这需要很长时间才能完成。imshow。我没有用像素的实际位置,因为我只关心重新映射的图像是什么样子。
我想知道人们如何处理这个问题: 我可以想到只是将图像裁剪到非零的区域(实际上我的像素也被映射到了该区域?就像在以下内容中看到的那样:
How to crop a numpy 2d array to non-zero values?
但这仍然需要我使用空间和时间来放置7000x7000目标矩阵