You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将分割后的图像瓦片拼接回原尺寸?

瓦片拼接方案

你的思路没问题:先收集同一imageN前缀的所有瓦片,再按tileN编号顺序拼接,但要注意分割时是按行优先生成的编号(第一行从左到右是tile0到tile5,第二行是tile6到tile11,以此类推),得按这个顺序把瓦片放回原图对应位置,还要还原1000x775的原图尺寸。

具体操作步骤

  • 收集并排序瓦片:遍历瓦片文件夹,挑出对应前缀(比如image0)的所有文件,然后按tile后面的数字从小到大排序,保证顺序和分割时一致。
  • 算好行列数:原图高1000,瓦片高128,能切出7行完整瓦片(最后一行剩104像素没切);原图宽775,瓦片宽128,能切出6列完整瓦片(最后一列剩7像素没切),刚好对应你手里的42个瓦片(7×6)。
  • 建空白原图容器:用OpenCV创建一个和原图尺寸一样的空白图,通道数和瓦片保持一致(彩色就3通道,灰度就1通道)。
  • 按位置拼瓦片:逐个读取排序后的瓦片,根据编号算出它在原图里的行和列位置,把瓦片贴到对应区域就行。如果需要保留原图没被分割的剩余部分,最后再把原图的对应区域补进去。

可直接运行的拼接代码

import os
import cv2
import numpy as np

# 配置参数
tilesize_r = 128
tilesize_c = 128
original_height = 1000
original_width = 775
tile_dir = "你的瓦片文件夹路径"
target_prefix = "image0"  # 要拼接的图像前缀

# 收集并排序瓦片
tile_list = [f for f in os.listdir(tile_dir) if f.startswith(target_prefix) and f.endswith(".jpg")]
# 按tile编号排序,确保顺序正确
tile_list.sort(key=lambda x: int(x.split("tile")[-1].split(".")[0]))

# 创建空白结果图(假设是彩色图,灰度图把3改成1)
merged_img = np.zeros((original_height, original_width, 3), dtype=np.uint8)

tile_idx = 0
total_rows = original_height // tilesize_r
total_cols = original_width // tilesize_c

for row in range(total_rows):
    for col in range(total_cols):
        # 读取瓦片
        tile_path = os.path.join(tile_dir, tile_list[tile_idx])
        tile = cv2.imread(tile_path)
        # 计算在原图中的位置
        start_y = row * tilesize_r
        end_y = start_y + tilesize_r
        start_x = col * tilesize_c
        end_x = start_x + tilesize_c
        # 把瓦片放到对应位置
        merged_img[start_y:end_y, start_x:end_x] = tile
        tile_idx += 1

# 可选:补原图未分割的剩余区域(如果需要的话)
# original_img = cv2.imread("你的原图路径")
# merged_img[end_y:, :] = original_img[end_y:, :]
# merged_img[:, end_x:] = original_img[:, end_x:]

# 保存拼接好的图
cv2.imwrite(os.path.join(tile_dir, f"{target_prefix}_merged.jpg"), merged_img)

注意点

  • 确保所有瓦片的通道数一致,别有的是彩色有的是灰度,不然拼接会报错。
  • 如果后续修改了分割代码,把剩余区域也切成瓦片了,要重新计算行列数和位置。
  • 路径要填对,不然找不到瓦片或者存不了结果。

内容的提问来源于stack exchange,提问作者Jaegermeister

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 11:45:29