Python裁剪图片

项目需要裁剪图片用做大图拼接,写个处理脚本,做个记录。 

#!/usr/bin/python
#pic

import os,os.path
import sys,getopt
import shutil
import Image

cur_dir=os.path.dirname(os.path.realpath(__file__))

opts,args=getopt.getopt(sys.argv[1:],"p:s:")
file_path=""

for op,value in opts:
	if op == "-p":
		file_path=value

filename=os.path.splitext(os.path.basename(file_path))

goal_dir=cur_dir+'\\'+filename[0]
if os.path.exists(goal_dir):
	shutil.rmtree(goal_dir)
if not os.path.exists(goal_dir):
	os.mkdir(goal_dir)


img = Image.open(file_path)

x_gap=512
y_gap=512

width=img.size[0]
height=img.size[1]

num_x=width/x_gap
num_y=height/y_gap

if num_x*x_gap<width:
	num_x+=1

if num_y*y_gap<height:
	num_y+=1

for y in xrange(0,num_y):
	for x in xrange(0,num_x):
		img = Image.open(file_path)

		goal_x=x*x_gap+x_gap
		goal_y=y*y_gap+y_gap
		if goal_x>width:
			goal_x=width
		if goal_y>height:
			goal_y=height

		region = (x*x_gap,y*y_gap,goal_x,goal_y)
		print(str(x*x_gap)+'--'+str(y*y_gap)+'--'+str(x*x_gap+x_gap)+'--'+str(y*y_gap+y_gap))
		cropImg = img.crop(region)
		goal_file=goal_dir+"\\"+filename[0]+'-'+str(y*num_x+x)+".jpg"
		cropImg.save(goal_file)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值