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()