簡體   English   中英

Python:將二維點雲轉換為灰度圖像

[英]Python: Convert 2d point cloud to grayscale image

我有一個長度可變的數組,其中填充了分布在 (0,0) 附近的二維坐標點(來自點雲),我想將它們轉換為二維矩陣(=灰度圖像)。

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

我將如何使用 python 和 numpy 實現這一點

看起來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之前,您必須對數據進行一些hist2d

僅使用 numpy 的快速解決方案,無需 matplotlib 及其繪圖:

import numpy as np
# given a 2dArray "array" and a desired image shape "[x,y]"
matrix = np.histogram2d(array[:,0], array[:,1], bins=[x,y])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM