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

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

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

图像分割后再将图片拼接在一起_第4张图片

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()
拼接结果

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

你可能感兴趣的:(三两闲事,cv,opencv)