Я использую:
Психопия Версия: 1.90.3
Python 2.7
Я пытаюсь записать видеофайлы во время эксперимента с помощью VideoWriter () cv2.
Функция VideoWriter () нуждается в кодеке fourcc в качестве второго аргумента, но кажется, что кодирование через "cv2.VideoWriter_fourcc (* 'XVID')" конфликтует с unicode_literals.
Если загружен unicode_literals, всплывающее сообщение об ошибке для аргумента fourcc:
"TypeError: Ожидаемая односимвольная строка для аргумента 'c1'"
Вот мой фрагмент кода для функции VideoRecording (), которую я хочу вызвать в исходном коде моего эксперимента. Ошибка касается определения
fourcc = cv2.VideoWriter_fourcc(*'XVID')
def VideoRecording(video_width,video_height,video_fps,seconds):
cap = cv2.VideoCapture(0)
cap.set(3,video_width) # width
cap.set(4,video_height) #height
cap.set(5,video_fps) # frames per second
# Define the codec and create VideoWriter object
fps = cap.get(5)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
filename = str('output_intrasync_video/' + subject[0] + '_' + str(trial_block) + '_' + str(x) + '.avi')
out = cv2.VideoWriter(filename,fourcc,video_fps, (video_width,video_height))
start = time.time()
zeitdauer=0
while(zeitdauer<seconds):
end=time.time()
zeitdauer=end-start
ret, frame = cap.read()
if ret==True:
frame = cv2.flip(frame,180)
# write the flipped frame
out.write(frame)
#cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
Функция работает нормально без загрузки unicode_literals, но мне нужно загрузить unicode_literals для функционирования остальной части моего кода.
Любые иды, почему аргумент кодека fourcc несовместим с unicode_literals?
Ура,
Carrie