先前用PIL中的Image去剪切图片,发现对于大的图片切不了,所以考虑用skimage的IO口模块。
from skimage import io
def cut_image(img):
width_part = 2 #图片宽度要分割的份数
height_part = 3 #图片高度要分割的份数
index = 2 #保存图片名字序号开始
height = img.shape[0]
width = img.shape[1]
item_width = int(width / width_part)
item_height = int(height / height_part)
for j in range(0, height_part):
for i in range(0, width_part):
image = img[j * item_height: (j + 1) * item_height, i * item_width: (i + 1) * item_width]
print((j * item_height, (j + 1) * item_height, i * item_width, (i + 1) * item_width))
io.imsave('F:/' + str(index) + '.tif', image) #保存路径和图片序号和格式(’.tif‘、‘.jpg’、‘.png’)
index = index + 1 #图片序号
if __name__ == '__main__':
file_path = 'F:/0.tif' #源图片路径
img = io.imread(file_path)