我想在不直接打開圖像文件的情況下將 rgb 矩陣轉換為灰度 martix,因為在 python 中這個過程很慢?
1 回答

滄海一幻覺
TA貢獻1824條經驗 獲得超5個贊
一般來說,如果你想處理它,你總是必須將圖像加載到 python 程序中。如果您不想使用圖像處理庫,則可以使用 numpy 完成所有操作(例如 OpenCV 無論如何都可以使用 numpy 數組,所以我將使用 OpenCV)
如果你想使用純粹的矩陣(numpy),你可以用于保存和加載
matrix = np.load('image.npy')
np.save('grayscale.npy',grayscale)
用于加工:
假設您有具有此 RGB 形狀的 numpy 矩陣:
>>> matrix.shape
(1000, 1000, 3)
為了在不進行任何“圖像處理”的情況下將其轉換為灰度,您可以簡單地在 3rd 上做 MEAN。維度(顏色維度)
grayscale = matrix.mean(axis=-1) # you can use axis=2 or as Nils Werner pointed out: axis=-1 which is more general
>>> grayscale.shape
(1000,1000)
結果:
前:
平均后
添加回答
舉報
0/150
提交
取消