0
我在形狀(244,244,3)中有一個numpy數組。每個都將RGB圖像作爲numpy數組。我想從每個通道中減去一個值。減去Numpy數組
當然,我可以很容易地做一個for循環,但我認爲在numpy中有一個更快的方法?
任何想法?
非常感謝
我在形狀(244,244,3)中有一個numpy數組。每個都將RGB圖像作爲numpy數組。我想從每個通道中減去一個值。減去Numpy數組
當然,我可以很容易地做一個for循環,但我認爲在numpy中有一個更快的方法?
任何想法?
非常感謝
你可以簡單地減去一個3矢量,numpy會自動播放它。
小演示了5x5的RGB圖像,從紅色通道,5從綠色通道,3從藍色通道中減去2:
>>> A = 10*np.ones((5,5,3), dtype=int)
>>> A -= [2, 5, 3]
>>> A[:,:,0] # Red
array([[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8]])
>>> A[:,:,1] # Green
array([[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5]])
>>> A[:,:,2] # Blue
array([[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7]])
向我們展示了糊塗的版本? – Divakar
您是否在減去相同大小的值的數組?在這種情況下,你可以做'array1 - array2';就如此容易。如果情況不是這樣,你能澄清你想減少的值的大小嗎? – isosceleswheel
該形狀表明它是RGB圖像。你對「每一個」的引用,是否意味着你有其他人具有相同的形狀? – NaN