不明白为什么会显示 ValueError: images do not match ???

在尝试使用PIL库进行图片拼接时遇到了`ValueError: images do not match`的问题。代码通过遍历指定路径下的图片,将6张图片横向拼接成一张新图片。但在执行paste方法时出现了错误。问题可能出在图片对象不匹配或坐标计算错误。检查代码中的图片路径和拼接逻辑是解决此问题的关键。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

import os
from PIL import Image

UNIT_SIZE = 1128#高
TARGET_WIDTH = 736*6 # 拼接完后的横向长度

path = "F:\PyImage/1/"
images = [] # 先存储所有的图像的名称
for root, dirs, files in os.walk(path):
    for f in files :
        images.append(f)
for i in range(int(len(images)/6)): # 6个图像为一组
    imagefile = []
    j = 0
    for j in range(6):
        imagefile.append(Image.open(path+images[i*6+j]))
    target = Image.new('RGB', (TARGET_WIDTH, UNIT_SIZE))
    left = 0
    right = UNIT_SIZE
    for image in imagefile:
        target.paste(image, (left, 0, right, UNIT_SIZE))# 将image复制到target的指定位置中
        left += UNIT_SIZE # left是左上角的横坐标,依次递增
        right += UNIT_SIZE # right是右下的横坐标,依次递增
        quality_value = 100 # quality来指定生成图片的质量,范围是0~100
        target.save(path+'/result/'+os.path.splitext(images[i*6+j])[0]+'.jpg', quality = quality_value)
    imagefile = []





 D:\Python3.6\python3.exe H:/python代码/Image拼接.py
Traceback (most recent call last):
  File "H:/python代码/Image拼接.py", line 21, in <module>
    target.paste(image, (left, 0, right, UNIT_SIZE))# 将image复制到target的指定位置中
  File "D:\Python3.6\lib\site-packages\PIL\Image.py", line 1404, in paste
    self.im.paste(im, box)
ValueError: images do not match

Process finished with exit code 1

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值