在 Python 中随机播放图像
Shuffling Images in Python
你好 Whosebug 社区,我在使用 shuffle 函数的一些代码上遇到了问题:
red_image = 'DDtest/210red.png'
green_image = 'DDtest/183green.png'
b = [red_image, green_image]
c = shuffle(b)
win = visual.Window(size=(1280, 800), fullscr=True, screen=0, monitor='testMonitor', color=[-1,-1,-1], colorSpace='rgb')
teststimulus = visual.ImageStim(win=win,
image= c, mask=None,
ori=0, pos=pos1, size=[0.5,0.5],
color=[1,1,1], colorSpace='rgb', opacity=1,
flipHoriz=False, flipVert=False,
texRes=128, interpolate=True, depth=-1.0)
teststimulus.setAutoDraw(True)
win.flip()
event.waitKeys(keyList = ['space'])
这个程序应该做的是打乱图片的显示顺序。无论出于何种原因,当我这样做时,它只会显示一个白色块。我确定问题出在随机播放功能上,因为它在我尝试显示静态图片时工作正常。关于问题可能是什么的任何建议?任何帮助将不胜感激。 :)
我确实觉得 Python 中有一些东西需要习惯。一件事是经常处理对象 "in place"。 shuffle
也是如此。实际上,使用 b
会很好。 Python 只是随机播放列表参数本身。所以每次你调用 shuffle(b)
时,你会在 b
对象中得到你的两个图片名称的随机排序(你可以省略 "c =" 部分)。
查看您的代码,您仍然需要为 ImageStim
选择其中一张图片,因为列表始终保持相同的大小(两个图片名称,只是在每次调用后随机排序)。因此,您必须执行 image=b[0]
(名字)或 image=b[1]
(第二个名字)之类的操作。
我没有检查所有的代码,所以我不知道是否会运行肯定。
最佳,
阿克塞尔
你好 Whosebug 社区,我在使用 shuffle 函数的一些代码上遇到了问题:
red_image = 'DDtest/210red.png'
green_image = 'DDtest/183green.png'
b = [red_image, green_image]
c = shuffle(b)
win = visual.Window(size=(1280, 800), fullscr=True, screen=0, monitor='testMonitor', color=[-1,-1,-1], colorSpace='rgb')
teststimulus = visual.ImageStim(win=win,
image= c, mask=None,
ori=0, pos=pos1, size=[0.5,0.5],
color=[1,1,1], colorSpace='rgb', opacity=1,
flipHoriz=False, flipVert=False,
texRes=128, interpolate=True, depth=-1.0)
teststimulus.setAutoDraw(True)
win.flip()
event.waitKeys(keyList = ['space'])
这个程序应该做的是打乱图片的显示顺序。无论出于何种原因,当我这样做时,它只会显示一个白色块。我确定问题出在随机播放功能上,因为它在我尝试显示静态图片时工作正常。关于问题可能是什么的任何建议?任何帮助将不胜感激。 :)
我确实觉得 Python 中有一些东西需要习惯。一件事是经常处理对象 "in place"。 shuffle
也是如此。实际上,使用 b
会很好。 Python 只是随机播放列表参数本身。所以每次你调用 shuffle(b)
时,你会在 b
对象中得到你的两个图片名称的随机排序(你可以省略 "c =" 部分)。
查看您的代码,您仍然需要为 ImageStim
选择其中一张图片,因为列表始终保持相同的大小(两个图片名称,只是在每次调用后随机排序)。因此,您必须执行 image=b[0]
(名字)或 image=b[1]
(第二个名字)之类的操作。
我没有检查所有的代码,所以我不知道是否会运行肯定。
最佳,
阿克塞尔