Как мне вернуть значения координат пикселей из следующей функции? - PullRequest
0 голосов
/ 26 мая 2020

У меня уже есть обширный сценарий, который хорошо работает. Цель скрипта - перебирать изображения и рисовать прямоугольники вокруг определенного c вида в изображении на основе ранее извлеченных вручную данных координат пикселей.

Теперь, однако, я хочу sh вернуть / извлеките значения координат пикселей каждого из четырех углов прямоугольника, рассчитанные и нарисованные в строке 'draw.rectangle' строки 'for l oop' ниже:

for index, row in img1_df.iterrows():
    for i in range(len(img1_df)):
        draw.rectangle(((float(row['x'])-float(row['r']), float(row['y'])-float(row['r'])), (float(row['x'])+float(row['r']), float(row['y'])+float(row['r']))), fill=(255,0,0,55))

Я бы предпочел как это в формате .csv, с 5 столбцами, расположенными как (или что-то подобное): 'имя файла', верхний левый (x / y), нижний левый (x / y), верхний правый (x / y), нижний правый ( x / y).

Как мне этого добиться?

Спасибо, R

1 Ответ

1 голос
/ 26 мая 2020

Посмотрите на модуль csv . Вы хотите использовать экземпляр csv.writer и использовать его для записи данных в файл. Примерно так должно работать:

import csv

with open('coordinates.csv', 'w') as f:
    writer = csv.writer(f)
    for index, row in img1_df.iterrows():
        for i in range(len(img1_df)):
            writer.writerow([(float(row['x'])-float(row['r']), float(row['y'])- float(row['r'])),
                             (float(row['x'])+float(row['r']), float(row['y'])+float(row['r']))])
...