首页 > 解决方案 > 如何增加python中3d点的密度?

问题描述

我有一个表面的灰色图像,我使用数组x, y, z作为点构建了一个 3d 图。我得到它们是这样的:

import numpy as np
import cv2

img = cv2.imread(namefile, 0)
xx, yy = np.mgrid[0:img.shape[0], 0:img.shape[1]]

x = xx.ravel()
y = yy.ravel()
z = img.ravel()

我需要这些数组,因为我将它们用作粒子,但我需要粒子之间的距离小于指定的dx. 有没有办法使用 Python 做到这一点?

例子:

假设我乘以x, y, zdx现在我有点 (x, y, z) 和 (x+dx, y, z1)。问题是 abs(z-z1) 不一定小于 dx。

标签: pythonnumpyopencv

解决方案


只需调整(增加)您的灰度图像的大小,您将通过(双线性或双三次)插值增加点数。如果您将每个维度增加 10 次,则将您的网格步长划分 10 次。你会得到更多的密度。


推荐阅读