0
我發現通過以下兩種方式來創建圖像的自定義顏色:陣列圖像在Python與
使用PIL
from PIL import Image
import numpy as np
data = np.arange(1 * 2048).reshape(1, 2048)
print(data)
img = Image.fromarray(data, 'RGB')
img.save('my.png')
使用Matplotlib
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
plt.imsave('filename.png', np.arange(1 * 2048).reshape(1, 2048))
他們兩者都很好。但是,我無法使用任何一種方法來跟蹤我的數據格式。
我的陣列是二維陣列,其是32x1000
。
每個元素爲0至255。
我希望每個元件被繪製成與返回爲下述方法的結果的RGB顏色的像素的數目。
def get_rgb_by_int(rgb_int):
return rgb_int & 255, (rgb_int >> 8) & 255, (rgb_int >> 16) & 255
從本質上講,我想知道是否有使用相同的陣列,其中現在的每個元素是另一組,它代表[r,g,b]
而非int
以創建圖像的方法。
編輯 打電話得知:這是我有:
print(result.shape)
>> (32, 1000)
print(result[0])
>> [(7, 0, 0)...(13, 0, 0)]
我想生成爲1000寬32高的圖像。第一像素應該是RGB值(7, 0, 0)
和第一行的最後一個像素應該是(13, 0, 0)
。 result
中的每個元素表示一行。
你'A'是我,但嵌套在另一個陣列。 'len(A)'總是32.我該如何重塑它? 基本上我有'B = [A,A,...,A]' – Cripto
你需要做的'B = np.array(B)''現在是B'您的數組,你可以重塑。在我上面的例子中做「A.shape」應該告訴你尺寸是多少。在將'B'改爲一個numpy數組後,執行'B.shape'會顯示出你的形狀是正確的。 'len()'不會告訴你有關數組的其他維度的任何信息。 – mprat