如何將圖片怎麼放入keras模型做訓練,如何將圖片轉成 如課程中訓練資料的那種形式
2019/08/08 下午 03:54
機器學習共學討論版
林宣威
觀看數:46
回答數:3
收藏數:0
請問如果我今天不是用keras裡的dataset資料,而是另外找的圖片,該怎麼放入模型訓練,如何將圖片轉成 像課程中訓練資料的那種形式
回答列表
-
2019/08/08 下午 04:42Jeffrey贊同數:0不贊同數:0留言數:0
-
2019/08/11 下午 08:20張維元 (WeiYuan)贊同數:3不贊同數:0留言數:0
嗨,關鍵字可以下「圖片轉矩陣」找找看,常見的用 PIL
```
from PIL import Image
im = Image.open(filename)
data = im.getdata()
```
或 scipy 都可以辦到
```
from scipy.misc import imread
img = imread(filename)
```
-
2019/08/15 下午 11:41Seanyu.TW贊同數:0不贊同數:0留言數:0
Hi,
這個問題的核心是只要把資料變成一個 numpy array 即可,在結構性資料的例子中,通常會是要塞給 Keras 一個 (N, C) (N --> batch, C --> numbers of feature column);而在影像中,則是 (N, H, W, C) ( N--> batch, H/W 高寬, C 通道數, 如 RGB=3 灰階 =1)。
所以,如果你知道要塞給 Keras 什麼東西,那任何手段能達到這樣子一個矩陣的方法都是可行的。舉例來說,多張影像就可以用
```python
file_path_list = [1.jpg, 2.jpg, 3.jpg, 4.jpg]
img = np.array([cv2.resize(cv2.imread(this_path), (224,224) for this_path in file_path_list])
```
這樣你會得到一個 numpy array 是 (4, 224, 224, 3),他就可以給 Keras 了。