在 Matlab 中,有一個函式ind2rgb函式可以這樣使用:
y = ind2rgb(im2uint8(rescale(cfs)),jet(256));
來自Matlab 網站:
RGB = ind2rgb(X,map)將索引影像X和相應的顏色圖轉換map為 RGB(真彩色)格式。
Python中有等效的方法嗎?
uj5u.com熱心網友回復:
我不知道內置的等價物,但您可以使用numpy陣列輕松做到這一點:
import numpy as np
# Create a 5x5 array of indices for demo
img = np.random.randint(0, 10, (5, 5))
# Create a fake grayscale colormap for demo
cmap = np.vstack((np.linspace(0, 1, n), np.linspace(0, 1, n), np.linspace(0, 1, n))).T
現在,i第 行cmap為您提供顏色,每個元素img告訴您哪個索引cmap是該像素的顏色,因此您只需要i為 中的每個元素獲取第 thi行img。因為 numpy 的索引與廣播一起作業,你可以將整個img陣列作為行索引器,你會得到一個形狀的陣列(img_rows, img_cols, cmap_cols)
rgb_img = cmap[img, :]
print(rgb_img.shape) # (5, 5, 3)
換句話說,ind2rgb(img, cmap)相當于cmap[img, :]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468938.html
上一篇:在箱線圖上添加乳膠解釋器
