Oct-09-2022, 11:02 AM
Hi,
Heres is the code below:
Heres is the code below:
from tkinter import * from PIL import ImageTk, Image import cv2 import time data = cv2.VideoCapture("video.mp4") while not data.isOpened(): pass fps = data.get(cv2.CAP_PROP_FPS) length = int(data.get(cv2.CAP_PROP_FRAME_COUNT)) width = int(data.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(data.get(cv2.CAP_PROP_FRAME_HEIGHT)) print(fps, length, width, height) data.read() data.release() counter = 0 root = Tk() root.title("VIDEOS CANVAS TOOL") root.geometry(str(width) + "x" + str(height)) canvas = Canvas(root, width=width, height=height) canvas.grid(row=0) def showFrame(frame=0): t0 = time.time() data.set(cv2.CAP_PROP_POS_FRAMES, frame) success, image = data.read() #if not success: #print("error") #return image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) t1 = time.time() print("1", t1 - t0) image = ImageTk.PhotoImage(image=Image.fromarray(image)) t2 = time.time() print("2", t2 - t1) canvas.delete("all") canvas.create_image(0, 0, image=image, anchor=NW) t3 = time.time() print("3", t3 - t2) canvas.image = image t4 = time.time() print("4", t4 - t3) print("all", t4 - t0) root.after(int(1000//fps), lambda: showFrame(frame+1)) showFrame() # play the video root.mainloop()I get this error, but I don't understand what is going wrong here?
Error:Traceback (most recent call last):
File "C:\Users\Finley\Downloads\Biz Project Test.py", line 52, in <module>
showFrame() # play the video
File "C:\Users\Finley\Downloads\Biz Project Test.py", line 35, in showFrame
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
Any thoughts?
"Only Boring People Get Bored"