机器学习.数据处理.把图片裁剪成既定大小227x227

当从网络采集的图片规格尺寸与机器学习模型中的尺寸不同时需要把图片裁剪成既定的大小。下面以狗猫狗大战中的图片为例。猫狗大战的数据集下载地址为https://www.kaggle.com/c/dogs-vs-cats。其中数据集有12500只猫和12500只狗。或者你可以参考我的另外一篇python3-按关键字爬取百度图片地爬取任何你想要的图片。

下面我们把./data/cat_and_dog/train/dog/目录下的所有图片裁剪成227x227,

并保存在./data/cat_and_dog/train_r/dog/中:

import cv2
import os


def resize_img(in_dir, out_dir=None, dim=(227, 227)):
    '''参考《TensorFlow深度学习应用实践》p171'''
    os.makedirs(out_dir, exist_ok=True)
    for file in os.listdir(in_dir):
        filepath = os.path.join(in_dir, file)
        print("HHHA:0====>", filepath)
        try:
            image = cv2.imread(filepath)
            resized = cv2.resize(image, dim)
            path = os.path.join(out_dir, file)
            cv2.imwrite(path, resized)
        except:
            print("【图片无法转换】:", filepath)
            #os.remove(filepath)

    cv2.waitKey(0)


if __name__ == "__main__":
    resize_img("./data/cat_and_dog/train/dog/", "./data/cat_and_dog/train_r/dog/")


阅读更多
文章标签: 数据处理
个人分类: 机器学习 Python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭