如何使用OpenCV VideoWriter将视频保存到特定目录 -- python

12

我想将一个视频保存到特定的文件夹中, 但运行代码后没有输出被保存。 请问是否有人能提供帮助?谢谢。

cap = cv2.VideoCapture(file_paths[0])
fgbg = cv2.bgsegm.createBackgroundSubtractorMOG()
fourcc = cv2.VideoWriter_fourcc(*'XVID')
name = "C:\jupyter_projects\Test Folder\Intention dataset\background_subtracted\out.mp4"
out = cv2.VideoWriter(name,fourcc, 20,(320,180),False)

while(1):
    ret, frame = cap.read()
    if (ret == True):
        resized_frame = cv2.resize(frame,(320,180),fx=0,fy=0, interpolation = cv2.INTER_CUBIC)
        fgmask = fgbg.apply(resized_frame)
        cv2.imshow('Frame',fgmask)
        out.write(fgmask)
        if cv2.waitKey(30) & 0xFF == ord('q'):
            break
    else:
        break
cap.release()
out.release()
cv2.waitKey(5)
cv2.destroyAllWindows()

提示:当我使用默认目录保存视频时,输出将被保存。

out = cv2.VideoWriter("out.mp4",fourcc, 20,(320,180),False)

我猜你必须转义路径中的空格。例如在Windows中: ""C:/Videos/Otters are the cutest/VerySweetOtter.mp4"" - Tollpatsch
@Tollpatsch 我已经更改了路径,但仍然无法工作。只有默认路径可以正常工作。 - Saha
1
你尝试过使用斜杠吗? - Darky WC
5个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
5

当您调用这个函数时

cv2.VideoWriter("/your/path/filename.mp4",fourcc, 20,(320,180))
希望能对您有所帮助 :)

2

尝试

fourcc = cv2.VideoWriter_fourcc(*'MP4V')

替代

fourcc = cv2.VideoWriter_fourcc(*'XVID')

1
没有起作用,问题在于更改目录。当我使用默认目录时,输出将被保存。 - Saha

1
使用createBackgroundSubtractorMOG2()
import cv2
cap = cv2.VideoCapture(0)
# fgbg = cv2.bgsegm.createBackgroundSubtractorMOG()
fgbg = cv2.createBackgroundSubtractorMOG2()
fourcc = cv2.VideoWriter_fourcc(*'XVID')
name = "C://path//of//your_dir//out.mp4"
out = cv2.VideoWriter(name,fourcc, 20,(320,180),False)

while(1):
    ret, frame = cap.read()
    if (ret == True):
        resized_frame = cv2.resize(frame,(320,180),fx=0,fy=0, interpolation = cv2.INTER_CUBIC)
        fgmask = fgbg.apply(resized_frame)
        cv2.imshow('Frame',fgmask)
        out.write(fgmask)
        if cv2.waitKey(30) & 0xFF == ord('q'):
            break
    else:
        break
cap.release()
out.release()
cv2.waitKey(5)
cv2.destroyAllWindows()
这将保存你的out.mp4到指定位置。当指定文件位置时,也可以使用单个正斜杠代替双正斜杠。

0

尝试使用单引号并使用双斜杠来表示文件目录。


0
如果您使用的是Windows系统,请使用原始字符串格式:r"C:\bluh bluh directory\abc"。

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - xlmaster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,