python PIL crop image

for img in os.listdir(imgfolder):
		imgname, Suff = os.path.splitext(img)
		im = Image.open(imgfolder + img)
		im_size = im.size
		width, height = im_size[0], im_size[1]

		xnum = int(width/cropsize) + 1
		ynum = int(height/cropsize) + 1

		rowindex = 0
		for yindex in range(ynum):  #yindex: row
			rowindex += 1
			columnindex = 0
			for xindex in range(xnum):  #xindex: column
				columnindex += 1

				if xindex != 0:
					box = (xindex*cropsize - overlap, yindex*cropsize, (xindex+1)*cropsize - overlap,(yindex+1)*cropsize) #设定裁剪区域
				else:
					box = (xindex*cropsize,yindex*cropsize,(xindex+1)*cropsize,(yindex+1)*cropsize) #设定裁剪区域 

				#To compare the box edge with the width and height of image. 				
				if box[2] > width and box[3] < height:
					box = (width-1024, box[1], width, box[3])
				if box[3] > height and box[2] < width:
					box = (box[0], height-1024, box[2], height)
				if box[3] > height and box[2] > width:
					box = (width-1024, height-1024, width. height)

				# crop and save img
				region = im.crop(box)
				region.save(imgsavefolder + imgname + '-' + str(rowindex) + '-' + str(columnindex) + Suff)

overlap:设置重叠区域

cropsize:生成图片大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值