logo
Loading...

如何將圖片怎麼放入keras模型做訓練,如何將圖片轉成 如課程中訓練資料的那種形式 - Cupoy

請問如果我今天不是用keras裡的dataset資料,而是另外找的圖片,該怎麼放入模型訓練,如何將圖...

如何將圖片怎麼放入keras模型做訓練,如何將圖片轉成 如課程中訓練資料的那種形式

2019/08/08 下午 03:54
機器學習共學討論版
林宣威
觀看數:46
回答數:3
收藏數:0

請問如果我今天不是用keras裡的dataset資料,而是另外找的圖片,該怎麼放入模型訓練,如何將圖片轉成 像課程中訓練資料的那種形式

回答列表

  • 2019/08/08 下午 04:42
    Jeffrey
    贊同數: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:41
    Seanyu.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 了。