1 介紹
圖像剪切在深度學習擴展訓練數據集中有着非常廣泛的用處。本文主要分享最近實現的圖像批量剪切python源代碼。希望對你有所幫助!
將裁剪之後的圖像進行拼接的源代碼:https://blog.csdn.net/u013419318/article/details/102805476
2 源代碼
import os
import matplotlib.pyplot as plt
import cv2
import numpy as np
n = 1 # 拆分多少行?
m = 20 # 拆分多少列?
def divide_imgs(img_path, img_name, save_path):
'''
拆分圖像
:param img_path:
:param img_name:
:param save_path:
:return:
'''
imgg = img_path + img_name
img = cv2.imread(imgg)
# img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
h = img.shape[0]
w = img.shape[1]
print('h={},w={},n={},m={}'.format(h, w, n, m))
dis_h = int(np.floor(h / n))
dis_w = int(np.floor(w / m))
num = 0
for i in range(n):
for j in range(m):
num += 1
print('i,j={}{}'.format(i, j))
sub = img[dis_h * i:dis_h * (i + 1), dis_w * j:dis_w * (j + 1), :]
save_imgs_path = save_path + '\\' + str(img_name.split('.')[0]) + '\\'
if not os.path.exists(save_imgs_path):
os.makedirs(save_imgs_path)
cv2.imwrite(save_imgs_path + str(img_name.split('.')[0]) + '_{}.png'.format(num), sub)
if __name__ == '__main__':
img_path = 'I:\\LONGBO\\ZXB_data\\test\\no_div\\'
save_path = 'I:\\LONGBO\\ZXB_data\\test\\div\\'
img_list = os.listdir(img_path)
for name in img_list:
print(name)
divide_imgs(img_path, name, save_path)
3 效果展示
待剪切圖像:
剪切完成後每個原圖對應一個文件夾:
剪切完成後單獨文件夾的圖像信息: