備忘:圖像預處理(Python Windows)

1. 獲取圖片路徑

"""
例:
在.\images\train文件夾下有兩張圖片01.jpg和02.jpg
"""

import os
import glob

# 得到圖片所在文件夾: .\images\train
base_path = '.\\images'
type = 'train'
folder_to_images = os.path.join(base_path, type)

# 獲取文件夾中所有圖片的名稱: ['01.jpg', '02.jpg']
name_to_images = os.listdir(folder_to_images) 

# 獲取文件夾中所有圖片的路徑: ['.\images\train\01.jpg', '.\images\train\02.jpg']
path_to_images = glob.glob(folder_to_images)

2. PIL.Image操作圖像

from PIL import Image

path_to_images = [r'.\01.jpg', r'.\02.jpg']
image_side = 84

for i, image_path in enumerate(path_to_images):
    
    # 讀入圖像:open(filename, mode)
    # 返回的Image對象具有三個屬性:
    # size(圖像的寬度和高度)
    # format(圖像格式:JEPG PNG等)
    # mode(圖像模式:RGB HSV等)
    im = Image.open(image_path)
    print(im.size, im.format, im.mode)
    
    # 轉換圖像大小:resize(size, resample, box)
    # resample: Image.BIBUBIC Image.LANCZOS Image.BILINEAR Image.NEAREST
    # box: resize的區域 (upper_left_x,upper_left_y,lower_right_x,lower_right_y)
    im = im.resize((image_side, image_side), resample=Image.LANCZOS)
    
    # 顯示圖像:show()
    im.show()
    
    # 保存圖像:save(filename, format)
    im.save(image_path, 'jpg')

3. 移動圖像

import os

image_path_cur = r'.\01.jpg'
image_path_new = r'.\test01.jpg'

instruct = 'move' + ' ' + image_path_cur + ' ' + image_path_new
result = os.popen(instruct).read()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章