OpenCVでいうところのRectをやるには、配列の一部をスライスすればよい。
dst1
はY=164からHeight=2960、X=356からWidth=2028ピクセル分。XとYが逆になってることに注意。
import cv2 import glob files = glob.glob("*.jpg") i=0 for file in files: im = cv2.imread(file,0) dst1 = im[164:164+2960,356:356+2028] dst2 = im[164:164+2960,2692:2692+2028] cv2.imwrite(f'a/{i:02d}.jpg',dst1) i+=1 cv2.imwrite(f'a/{i:02d}.jpg',dst2) i+=1
トリミング前にどこがトリミングされるか確認するためのコード
import cv2 import glob files = glob.glob(r"*.jpg") i=0 s1 = [821,100] s2 = [2484,100] width = 1700 height = int(width*2**0.5) for file in files: im = cv2.imread(file,0) s=s1 cv2.rectangle(im, (s[0], s[1]), (s[0]+width, s[1]+height), 120) s=s2 cv2.rectangle(im, (s[0], s[1]), (s[0]+width, s[1]+height), 120) cv2.imwrite(file+"_rect.jpg",im)