一、需求:
给出四张图片,按照一定的顺序拼接起来
二、图片:
左上角:(像素512*512)
右上角:(像素284*512)
左下角:(像素284*512)
右下角:(像素284*284)
三、代码及说明:
import skimage.io as io
import numpy as np# 上面左右拼接
jzg = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_1_1.jpg") # np.ndarray, [h, w, c], 值域(0, 255), RGB
lgz = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_1_2.jpg") # np.ndarray, [h, w, c], 值域(0, 255), RGB
pj1 = np.zeros((512,512 + 284,3)) #横向拼接
pj1[:,:512,:] = jzg.copy() #图片jzg在左
pj1[:,512:,:] = lgz.copy() #图片lgz在右
pj1=np.array(pj1,dtype=np.uint8) #将pj1数组元素数据类型的改为"uint8"
io.imsave('pj1.jpg', pj1) #保存拼接后的图片# 下面左右拼接
jzg2 = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_2_1.jpg") # np.ndarray, [h, w, c], 值域(0, 255), RGB
lgz2 = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_2_2.jpg") # np.ndarray, [h, w, c], 值域(0, 255), RGB
pj2 = np.zeros((284,512 + 284,3)) #横向拼接
pj2[:,:512,:] = jzg2.copy() #图片jzg2在左
pj2[:,512:,:] = lgz2.copy() #图片lgz2在右
pj2=np.array(pj2,dtype=np.uint8) #将pj2数组元素数据类型的改为"uint8"
io.imsave('pj2.jpg', pj2) #保存拼接后的图片# 上面与下面拼接
uzg = io.imread('pj1.jpg') # np.ndarray, [h, w, c], 值域(0, 255), RGB
dgz = io.imread('pj2.jpg') # np.ndarray, [h, w, c], 值域(0, 255), RGB
pj = np.zeros((512 + 284,796,3)) #竖向拼接
pj[:512,:,:] = uzg.copy() #图片jzg在左
pj[512:,:,:] = dgz.copy() #图片lgz在右
pj=np.array(pj,dtype=np.uint8) #将pj数组元素数据类型的改为"uint8"
io.imsave('pj.jpg', pj) #保存拼接后的图片
四、结果: