我尝试执行我的代码,我的翻译说这个。我的错误在哪里?
import cv2
videoCapture = cv2.VideoCapture('opal.avi')
fps = videoCapture.get(cv2.CAP_PROP_FPS)
size = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
videoW = (cv2.VideoWriter('opal2.avi',
cv2.CAP_PROP_FOURCC('I', '4', '2', '0'), fps, size))
success, frame = videoCapture.read()
while success: # Loop until there are no more frames.
videoW.write(frame)
success, frame = videoCapture.read()
答案 0 :(得分:1)
这样的错误通常是由于这种类型的线:
success, frame = videoCapture.read()
这一行非常类似于:
aRet = videoCapture.read()
success = aRet[0]
frame = aRet[1]
如果videoCapture.read()返回一个int,那么行:
success = aRet[0]
成为int的迭代,这是不可能的,所以你的错误。
所以在此之前,请检查您的返回值是否为列表类型...
答案 1 :(得分:0)
cv2.CAP_PROP_FOURCC('I','4','2','0')行将生成错误。
CAP_PROP_FOURCC是一个常量,即一个int。
你不能调用int
3("hello") => impossible "int" object is not callable