首页 > 解决方案 > Python:将二维点云转换为灰度图像

问题描述

我有一个可变长度的数组,其中填充了分布在 (0,0) 周围的 2d 坐标点(来自点云),我想将它们转换为 2d 矩阵(=灰度图像)。

# have
array = [(1.0,1.1),(0.0,0.0),...]
# want
matrix = [[0,100,...],[255,255,...],...]

我将如何使用 python 和 numpy 实现这一点

标签: pythonarraysnumpymatrixpoint-clouds

解决方案


看起来matplotlib.pyplot.hist2d就是你要找的东西。

它基本上将您的数据分箱到二维箱中(具有您选择的大小)。 这里的文档和一个工作示例如下。

import numpy as np
import matplotlib.pyplot as plt
data = [np.random.randn(1000), np.random.randn(1000)]
plt.scatter(data[0], data[1])

在此处输入图像描述

然后你可以调用hist2d你的数据,例如像这样

plt.hist2d(data[0], data[1], bins=20)

在此处输入图像描述

请注意, 的参数hist2d是两个一维数组,因此在将数据输入hist2d.


推荐阅读