I am writing some code to separate an image into multiple smaller images along a 3x3 grid pattern. To do this I am explicitly assigning each of the four corner coordinates of each 'grid cell' so that they can be used in PIL.image.crop(). Is there a straightforward way to implement this code in a loop?
from math import floor
import matplotlib.pyplot as plt
height = 75
width = 75
numRows = 5
numCols = 5
numVertLines = numRows+1
numHorLines = numCols+1
xcoords = []
ycoords = []
grid4coords = []
colIncrement = floor(width/numCols)
rowIncrement = floor(height/numRows)
print("Incremementing columns by", colIncrement, "pixels")
print("Incrementing rows by", rowIncrement, "pixels")
for i in range(0, (height+1), rowIncrement): #start from (0,0), increment by rowIncrement until reached
xcoords.append(i)
for j in range(0, (width+1), colIncrement): #start from (0,0), increment by colIncrement until reached right
ycoords.append(j)
print("xcoords:",xcoords)
print("ycoords",ycoords)
################################## row 1 grid coords
TL11 = [xcoords[0], ycoords[0]]
TR11 = [xcoords[1], ycoords[0]]
BL11 = [xcoords[0], ycoords[1]]
BR11 = [xcoords[1], ycoords[1]]
TL12 = [xcoords[1], ycoords[0]]
TR12 = [xcoords[2], ycoords[0]]
BL12 = [xcoords[1], ycoords[1]]
BR12 = [xcoords[2], ycoords[1]]
TL13 = [xcoords[2], ycoords[0]]
TR13 = [xcoords[3], ycoords[0]]
BL13 = [xcoords[2], ycoords[1]]
BR13 = [xcoords[3], ycoords[1]]
################################ row 2 grid coords
TL21 = [xcoords[0], ycoords[1]]
TR21 = [xcoords[1], ycoords[1]]
BL21 = [xcoords[0], ycoords[2]]
BR21 = [xcoords[1], ycoords[2]]
TL22 = [xcoords[1], ycoords[1]]
TR22 = [xcoords[2], ycoords[1]]
BL22 = [xcoords[1], ycoords[2]]
BR22 = [xcoords[2], ycoords[2]]
TL23 = [xcoords[2], ycoords[1]]
TR23 = [xcoords[3], ycoords[1]]
BL23 = [xcoords[2], ycoords[2]]
BR23 = [xcoords[3], ycoords[2]]
################################ row 3 grid coords
TL31 = [xcoords[0], ycoords[2]]
TR31 = [xcoords[1], ycoords[2]]
BL31 = [xcoords[0], ycoords[3]]
BR31 = [xcoords[1], ycoords[3]]
TL32 = [xcoords[1], ycoords[2]]
TR32 = [xcoords[2], ycoords[2]]
BL32 = [xcoords[1], ycoords[3]]
BR32 = [xcoords[2], ycoords[3]]
TL33 = [xcoords[2], ycoords[2]]
TR33 = [xcoords[3], ycoords[2]]
BL33 = [xcoords[2], ycoords[3]]
BR33 = [xcoords[3], ycoords[3]]