在做圖像復原的相關工作中,由於數據集的缺失,我們通常需要將圖片裁剪成比較小的crop。比如在做深度學習圖像去噪的相關研究的時候,由於圖像去噪不太關注整體的圖像內容,所以可以先將大的圖片裁剪成小的crop,以次來增加數據量。
具體代碼如下:
import glob
import cv2
'''cut the img_1024*1024 into img_46*46,the sampling interval is 30'''
src_dir="C:\\Users\\ASUS\\Desktop\\src" #the scr_img 1024*1024
filepath=glob.glob(src_dir+'./*jpg') #return a list
count=0
for i in range(len(filepath)):
img_src= cv2.imread(filepath[i])
for x in range (0,(1024-46),30):
for y in range (0,(1024-46),30):
img_cut = img_src[x:x + 46, y:y + 46]
save_dir = "C:\\Users\\ASUS\\Desktop\\crop_46_46\\crop{}.jpg".format(count)
count += 1
cv2.imwrite(save_dir, img_cut)