第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用圖像序列在 tkinter 上顯示視頻

如何使用圖像序列在 tkinter 上顯示視頻

哈士奇WWW 2023-10-26 16:48:22
我正在嘗試構(gòu)建一個(gè)將圖像序列顯示為視頻的 GUI。圖像是 numpy 數(shù)組。當(dāng)我嘗試一次顯示一張圖像時(shí),代碼可以正常工作,但當(dāng)我嘗試將它們作為序列運(yùn)行時(shí),代碼會(huì)崩潰。代碼:from tkinter import *from scipy.io import loadmatfrom PIL import ImageTk, Imageimport timedata = loadmat('DepthFrames.mat')['DepthFrames'].squeeze(axis=0)print(data.shape)counter = 0root = Tk()image = ImageTk.PhotoImage(image = Image.fromarray(data[counter]))root.title("WUDU VIDEOS LABEL TOOL")myLabel = Label(root, image = image)myLabel.grid(row = 0)def changeImg():    global counter    counter +=1    print(counter)    image = ImageTk.PhotoImage(image = Image.fromarray(data[counter]))    myLabel.configure(image = image)    myLabel.image = imagedef playVideo():    for i in range(10):        image = ImageTk.PhotoImage(image = Image.fromarray(data[i]))        myLabel.configure(image = image)        myLabel.image = image        time.sleep(0.03333)my_Button = Button(text = "Play video",command = playVideo)my_Button.grid(row = 1)root.mainloop()
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

time.sleep阻塞 的主線程tkinter。您的代碼將凍結(jié) GUI,直到for循環(huán)完成并且圖像將顯示為最后一個(gè)圖像。

你需要使用該after方法。像這樣的東西:

def playVideo(frame=0):

? ? try:

? ? ? ? image = ImageTk.PhotoImage(image = Image.fromarray(data[frame]))

? ? except IndexError:

? ? ? ? return

? ? myLabel.configure(image = image)

? ? myLabel.image = image

? ? root.after(33, playVideo, frame+1)


查看完整回答
反對(duì) 回復(fù) 2023-10-26
  • 1 回答
  • 0 關(guān)注
  • 217 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)