#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# @Date    : 2015-03-08 20:15:47
# @Author  : NSSimacer
# @Email   : wuxiaoqiang1020@gmail.com
# @Version : 1.0

import cv2
import os

def resize_images(base_dir, size=(1334, 750)):
    '''
    更改图片尺寸,使之不高于 iPhone x 的分辨率,默认参数是 iPhone 6 的分辨率,调用的时候可以更改为任意分辨率参数
    '''
    files = os.listdir(base_dir)

    for f in files:

        # 根据文件后缀判断是否文件是否为图片
        # if f[f.rfind('.') + 1:] in ['jpg', 'png', 'bmp', 'gif', 'jpeg']:
        if os.path.splitext(f)[1][1:] in ['jpg', 'png', 'bmp', 'gif', 'jpeg']:

            img = cv2.imread(base_dir + f)

            img_size = img.shape[:2]  # 获取图片的尺寸

            if 0 < img_size[0] <= size[0] and 0 < img_size[1] <= size[1]:

                size = img_size
            else:

                img = cv2.resize(img, size)  # 更改图片尺寸

                cv2.imwrite(base_dir + 'resized_' + f, img)

if __name__ == '__main__':

    base_dir = 'iPhone6/'

    # 调整成 iPhone 6 的分辨率
    resize_images(base_dir)

    # 传入参数,调整成 iPhone 5 的分辨率
    resize_images(base_dir, size=(1136, 640))