Я читаю в видео в оттенках серого. Я отмечаю круговой контур на каждом кадре видео и пытаюсь записать интенсивность каждого пикселя на этом контуре:
frameCount += 1
currentTimestamp = timestamp + frameCount/fps
file = open("myRecord.txt", "a+") #a+ to append to file
file.write(str(currentTimestamp))
circleSegment = get_circle_segment(center_pt, 60, 360) #this function returns a list of tuples, where each tuple (x,y) contains x- and y-coordinates of a point along the circular contour
for el in circleSegment:
pixel = gray_frame[el[1],el[0]]
#log information
file.write('\t' + str(pixel))
file.write('\n')
file.close()
Это прекрасно работает для круговой дуги до 180 ° и даже за ее пределами (я также проверил с 181 °). Однако, как только я выйду за определенное значение, например, 270 ° или 359 ° или 360 ° (полный круг, чего я и хочу), регистрируемые данные просто содержат китайские символы.
Понятия не имею, что может вызвать эту проблему! Может ли быть так, что как только мой txt-файл выходит за пределы 1000 КБ, что-то идет не так?
после комментариев этот код работает:
frameCount += 1
currentTimestamp = timestamp + frameCount/fps
storeData = []
storeData.append(currentTimestamp)
circleSegment = get_circle_segment(center_pt, 60, 360)
for el in circleSegment:
pixel = gray_frame[el[1],el[0]]
storeData.append(pixel)
#log information
file = open("myRecord.txt", mode="a+") #a+ to append to file
for element in storeData:
file.write('\t' + str(element))
file.write('\n')
file.close ()