您好,登錄后才能下訂單哦!
如下所示:
import numpy as np from PIL import Image img = Image.open(filepath) img_convert_ndarray = np.array(img) ndarray_convert_img= Image.fromarray(img_convert_ndarray ) # np.array(object) 這個函數很強大啊,看源碼里面給的注釋 # object : array_like # An array, any object exposing the array interface, an object whose # __array__ method returns an array, or any (nested) sequence.
而keras里面也有api來做這樣的轉換
from keras.preprocessing.image import img_to_array, array_to_img
然而查看源碼的時候,其實會發現這兩個函數仍然還是用同樣的方式實現
img_to_array() 是使用np.asarray(),而array_to_img是使用Image.fromarray()
多說一句,np.array()是創建一個ndarray,而np.asarray(object)是將一個object轉換成ndarray,但是
np.asarray(a): return np.array(a,copy=False) # 而np.array()里copy默認為True,那這有什么區別呢? import numpy as np a = np.array([1, 2]) b = np.asarray(a) c = np.asarray(a) print(type(b), type(c), b is c) # True e = np.array(a) f = np.array(a) print(type(e), type(f), e is f) # False a = [1, 2] b = np.asarray(a) c = np.asarray(a) print(type(b), type(c), b is c) # False e = np.array(a) f = np.array(a) print(type(e), type(f), e is f) # False
以上這篇Python 實現Image和Ndarray互相轉換就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。