欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图像分割后再将图片拼接在一起

程序员文章站 2024-03-23 08:57:34
...

做图像分割时,由于原图较大,需要把图片裁剪之后传入网络,最后输出的结果再重新拼接到一起。

4张图片,形状为 (256, 256, 3),
图像分割后再将图片拼接在一起
图像分割后再将图片拼接在一起
图像分割后再将图片拼接在一起

图像分割后再将图片拼接在一起

1. 切片

import cv2
import numpy as np

index = [[0, 0], [0, 1], [1, 0], [1, 1]]
background = np.zeros((256 * 2, 256 * 2, 3), dtype=np.uint8)
for i in range(4):
    filename = './imgs/01_{}.tif'.format(i)
    img = cv2.imread(filename)
    background[index[i][0] * 256:256 * (index[i][0] + 1), index[i][1] * 256:256 * (index[i][1] + 1)] = img[...]
cv2.imshow('new image', background)
cv2.waitKey(0)

2. 粘贴

from PIL import Image

j = [(0, 0), (256, 0), (0, 256), (256, 256)]
background = Image.new('RGB', size=(256*2, 256*2))
for i in range(4):
    filename = './imgs/01_{}.tif'.format(i)
    img = Image.open(filename)
    background.paste(img, box=j[i])
background.show()
拼接结果

由于裁剪的时候,丢弃了部分信息,所以拼接结果不连贯。
图像分割后再将图片拼接在一起