python数据增强——随机裁剪

import cv2
import os
import random


input_folder = 'JPEGImages'
output_folder = 'images'

if not os.path.exists(output_folder):
    os.makedirs(output_folder)


# 定义随机裁剪函数
def random_crop(image, crop_size):
    h, w, _ = image.shape
    if h < crop_size or w < crop_size:
        return None
    x = random.randint(0, h - crop_size)
    y = random.randint(0, h - crop_size)
    # 使用切片操作进行图像裁剪
    cropped_image = image[x: x+crop_size, y: y + crop_size, :]
    return cropped_image


# 定义随机裁剪的尺寸
crop_size = 180


# 遍历输入文件夹中的图像
for file in os.listdir(input_folder):
    if file.endswith(('.jpg', '.jpeg', '.png')):
        image_path = os.path.join(input_folder, file)
        image = cv2.imread(image_path)
        # 调用随机裁剪函数
        cropped_image = random_crop(image, crop_size)
        if cropped_image is not None:
            output_path = os.path.join(output_folder, file)
            cv2.imwrite(output_path, cropped_image)


print("随机裁剪完成,保存到", output_folder)

这段代码运行前提需要默认安装了opencv的库,并且如果图像的大小小于裁剪尺寸的话,就默认不能进行裁剪

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值