180709 利用Python与OpenCV裁剪图像做数据增强

原始图像
这里写图片描述

裁剪图像
这里写图片描述

# -*- coding: utf-8 -*-
"""
Created on Mon Jul  9 11:38:19 2018

@author: guokai_liu
"""

import numpy as np
import matplotlib.pyplot as plt
import cv2

filename = 'Yuna2.jpg'
def crop_figure(fn,kw=100,kh=100,sx=50,sy=50):
    # assgn saving name
    sn = fn.split('.')[0]
    # read image
    img = cv2.imread(fn)
    # set parameters
    f_h, f_w,f_c = img.shape
    k_w = kw
    k_h = kh
    s_x = sx
    s_y = sy
    # get output numbers of rows and columns
    n_y = (f_h-k_w)//s_y
    n_x = (f_w-k_h)//s_x
    # begin points for rows and columns
    c_x = [i+s_x*i for i in range(n_x)]
    c_y = [i+s_y*i for i in range(n_y)]

    # crop images 
    for idx_y, y in enumerate(c_y):
        for idx_x,x in enumerate(c_x):
            crop_img = img[y:y+k_h,x:x+k_w]
            cv2.imwrite('fig/%s-y=%i-x=%i.jpg'%(sn,idx_y,idx_x),crop_img)

crop_figure(filename)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuokLiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值