python图片横向合并_python PIL合并图片

# coding=utf-8

from

PIL

import

Image

import

os

def

mergei(files, output_file):

tot =

len

(files)

img = Image.open(files[

0

])

w, h = img.size[

0

], img.size[

1

]

if

w

#

判断横竖方向确定图片大小

merge_img = Image.new(

'RGB'

, (w * tot, h),

0xffffff

)

else

:

merge_img = Image.new(

'RGB'

, (h * tot, w),

0xffffff

)

i =

0

for

f

in

files:

print

(f)

img2 = Image.open(f)

w1, h1 = img2.size[

0

], img2.size[

1

]

if

w1

merge_img.paste(img2, (i,

0

))

i += w1

else

:

out = img2.transpose(Image.ROTATE_90)

#

翻转图片保持一致

merge_img.paste(out, (i,

0

))

i+=h1

merge_img.save(output_file)

def

mergerfile(inpupath, outpath):

files = []

for

roots, dirnames, filenames

in

os.walk(inpupath):

for

filename

in

filenames:

files.append(os.path.join(roots,filename))

if

len

(files)%

2

==

0

:

#

合并图片数量

for

ii

in

range

(

0

,

len

(files),

2

):

a=ii+

1

x=os.path.basename(files[ii]).split(

'.'

)[

0

]

y=os.path.basename(files[a]).split(

'.'

)[

0

]

outname = os.path.join(outpath,

'{0}-{1}.jpg'

.format(x,y))

mergei([files[ii],files[a]], outname)

else

:

for

ii

in

range

(

0

,

len

(files)-

1

,

2

):

a=ii+

1

x = os.path.basename(files[ii]).split(

'.'

)[

0

]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值