图像分割后再将图片拼接在一起
程序员文章站
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()
拼接结果
由于裁剪的时候,丢弃了部分信息,所以拼接结果不连贯。
推荐阅读