Как представить изображение в формате jpg на PsychoPy с помощью кодера?

Я пытаюсь наложить текст поверх изображения. Текст работает, но когда я добавляю стимулы к изображению, PsychoPy продолжает выдавать мне сообщения об ошибках, хотя я правильно определил путь. Почему это?

Это мой код:

# Import the PsychoPy libraries that you want to use
from psychopy import core, visual

# Create a window
win = visual.Window([400,300], monitor="testMonitor")

#load image
sophie_image='C:\Users\Sophie\OneDrive\Pictures\PSYCHOPY-globeimage'

# Create a stimulus for a certain window
message = visual.TextStim(win, text="Hello World!")

Stim = visual.ImageStim(win, image=sophie_image) 

# Draw the stimulus to the window. We always draw at the back buffer of the window.
message.draw()

Stim.draw()

# Flip back buffer and front  buffer of the window.
win.flip()

# Pause 5 s, so you get a chance to see it!
core.wait(5.0)

# Close the window
win.close()

# Close PsychoPy
core.quit()

Это сообщение об ошибке:

SyntaxError: (ошибка Unicode) кодек unicodeescape не может декодировать байты в позиции 2-3: усеченный \ UXXXXXXXX escape


person Sophie Tan    schedule 21.02.2019    source источник
comment
Какие сообщения об ошибках? Измените свой вопрос, включив в него сообщения об ошибках.   -  person Mark Stewart    schedule 21.02.2019
comment
Привет, @MarkStewart, я только что сделал! Надеюсь, это проясняет вопрос   -  person Sophie Tan    schedule 21.02.2019
comment
Думаю, ваш ответ можно найти здесь: ссылка   -  person Xion    schedule 21.02.2019
comment
Кроме того, если вы посмотрите на свой код, вы увидите, что слово Stim выделено как специальное подсветкой синтаксиса. В общем, это намек на то, что вы можете использовать защищенное слово для имени переменной, и было бы неплохо изменить политику на что-то другое, например. sophieStim или просто стим, даже если в данном случае это не причина вашей проблемы.   -  person brittAnderson    schedule 21.02.2019


Ответы (1)


Посмотрите на свой путь, он содержит подстроку \u. Это то, что вызывает ошибку, и это то, что упоминается в сообщении об ошибке. Поскольку строка не является необработанной строкой, она анализируется на предмет экранирования, начинающегося с \. Чтобы избежать этого, используйте префикс r в строковом литерале, чтобы сделать его необработанной строкой:

sophie_image=r'C:\Users\Sophie\OneDrive\Pictures\PSYCHOPY-globeimage'

Другой способ избежать этого - использовать экранированную обратную косую черту \\ или, поскольку Windows также принимает /.

person Dan D.    schedule 21.02.2019