vsplit
、hsplit
で画像を分割できるので、あとは好きな形式で保存できます。
あとで結合できるように、分割画像の位置を示すx,y
をファイル名に含めるようにします。
参考:numpyで画像の分割と連結
Python
1import numpy as np
2import cv2
3
4img = cv2.imread('lena.jpg')
5
6size = 200
7
8# 端数切捨て
9v_size = img.shape[0] // size * size
10h_size = img.shape[1] // size * size
11img = img[:v_size, :h_size]
12print(v_size,h_size)
13
14v_split = img.shape[0] // size
15h_split = img.shape[1] // size
16print(v_split,h_split)
17
18for y,img_v in enumerate(np.vsplit(img, v_split)):
19 for x,img in enumerate(np.hsplit(img_v,h_split)):
20 print(x,y,img.shape)
21 np.save('dat{}{}.npy'.format(x,y), img) # numpy形式で保存
22 #cv2.imwrite('img{}{}.jpg'.format(x,y), img) # 画像として保存もできる