Я написал скрипт, который dr aws создает прямоугольники вокруг элементов изображения в соответствии с их координатами x / y / r пикселей, и все это работает хорошо. Функциональный код выглядит следующим образом:
ss = pd.read_excel(xeno_data)
fandc = []
for index, row in ss.head().iterrows():
filename = row['filename']
coords = row['xyr_coords']
# Use RegEx to find anything that looks like a group of digits, possibly seperated by decimal point.
x, y, r = re.findall(r'[0-9.]+',coords)
print(f'DEBUG: filename={filename}, x={x}, y={y}, r={r}')
fandc.append({'filename': filename, 'x':x, 'y':y, 'r':r})
#Draw a transparent rectangle:
im = im.convert('RGBA')
overlay = Image.new('RGBA', im.size)
draw = ImageDraw.Draw(overlay)
#The x,y,r coordinates are centre of sponge (x,y) and radius (r).
draw.rectangle(((float(fandc[0]['x'])-float(fandc[0]['r']), float(fandc[0]['y'])-float(fandc[0]['r'])), (float(fandc[0]['x'])+float(fandc[0]['r']), float(fandc[0]['y'])+float(fandc[0]['r']))), fill=(255,0,0,55))
img = Image.alpha_composite(im, overlay)
img = img.convert("RGB")
# Remove alpha for saving in jpg format.
img.show()
Этот код дает желаемый результат, и из видно, что он успешно нарисовал выцветший красный прямоугольник над элементом в центральное дно изображения.
Однако это делается с учетом первой строки данных ('fandc [0]'). Как настроить этот код для автоматической итерации или l oop через каждую строку моей электронной таблицы (xeno_data), то есть 'fand c 1 ', 'fandc [2]', 'fandc [3 ] ', et c, et c .....
Спасибо всем!