亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我應該如何繪制 XYZ 數據點以在 python 中創建 RGB 深度圖像

我應該如何繪制 XYZ 數據點以在 python 中創建 RGB 深度圖像

繁花不似錦 2024-01-15 21:08:12
我正在開發一個小項目,其中給我一個 XYZ 數據的二維數組。以這種方式:a = [[1,7,13,3,4],      [6,21,32,11,2]]其中x表示數組的列,y表示數組的行,z表示數組的內容,即距離。我想要完成的是使用二維數組并以 RGB 格式繪制深度圖像。詳細來說,距離(z)值越近,我希望該點被繪制為紅色。隨著距離 (z) 值的增加,我想根據距離有多大將其繪制為黃色、綠色或藍色。為了更好地說明,我添加了示例圖片。我正在嘗試用 python 來完成這個任務。我嘗試研究它,但大多數時候我發現如何從深度圖像或點云中提取 XYZ 數據,而不是使用 XYZ 數據來繪制深度圖像。請告訴我這是否可行,或者有哪些 python 庫可以實現這一點。謝謝。編輯:我相信注意到二維陣列由測距傳感器生成的點云數據可能會有所幫助。我希望能夠使用數據點構建掃描區域的靜態二維圖像。我還想利用色彩圖來可視化圖像的深度。
查看完整描述

2 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

這是一個使用的示例seaborn:


生成樣本數據:


pip install seaborn  # for those who have not yet installed seaborn

---

AND

---

import seaborn as sns


def func(x, y):

    return np.exp(-x**2-y**2)


xaxis = np.linspace(-1, 1, 100)

yaxis = np.linspace(-1, 1, 200)

result = func(xaxis[:,None], yaxis[None,:])

繪圖:


sns.heatmap(result, cmap=sns.color_palette("Spectral_r", as_cmap=True))

plt.yticks([],[])

plt.xticks([],[])

結果:

https://img1.sycdn.imooc.com/65a52e6000016ab606370409.jpg

查看完整回答
反對 回復 2024-01-15
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

類似的事情嗎?


from matplotlib.pylab import plt

a = [[1,7,13,3,4],

     [6,21,32,11,2]]

plt.matshow(a, cmap=plt.cm.viridis)

plt.colorbar()

https://img1.sycdn.imooc.com/65a52e7100016fc406540290.jpg

您可以傳遞大型數組,例如圖像。在這里,我使用 matplotlib 中的示例圖像,剪切顏色以獲得 (120, 560) 而不是 (120, 560, 3) 數組,然后顯示它:


from matplotlib.pylab import plt

from matplotlib.cbook import get_sample_data

fn = get_sample_data("logo2.png", asfileobj=False)

img = plt.imread(fn, format='png')[...,0] #get single color channel

plt.matshow(img,cmap=plt.cm.jet,interpolation='bicubic')#see imshow for more arguments

plt.colorbar()

https://img1.sycdn.imooc.com/65a52e800001ec1c10440268.jpg

如果我沒記錯的話 plt.matshow 是 plt.imshow 的子類



查看完整回答
反對 回復 2024-01-15
  • 2 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號