我試圖做一個Python程序與numpy的,但我遇到了一個問題:的Python NumPy的創建拷貝,而不是引用
width, height, pngData, metaData = png.Reader(file).asDirect()
planeCount = metaData['planes']
print('Bildgroesse: ' + str(width) + 'x' + str(height) + ' Pixel')
image_2d = np.vstack(list(map(np.uint8, pngData)))
imageOriginal_3d = np.reshape(image_2d, (width, height, planeCount))
imageEdited_3d = imageOriginal_3d
這是我的代碼,在一個PNG,圖片閱讀。現在,我想編輯imageEdited_3d
但不是imageOriginal_3d
,像這樣:
imageEdited_3d[x,y,0] = 255
但隨後imareOriginal_3d
變量具有相同的值imageEdited_3d
一個...
有誰知道,我怎麼能解決這個問題?所以它不僅創建了一個參考,而且它創建了一個真正的副本? :/
您是在:'imageEdited_3d = imageOriginal_3d.copy()'? – MaxU
@MaxU完美,工作。 Sry回答這個問題:D – Gykonik
我保證比'np.vstack(list(map(np.uint8,pngData)))' – Eric