gpt4 book ai didi

python - 如何发布 'orphan' opencv videowriter

转载 作者:太空宇宙 更新时间:2023-11-03 23:16:28 26 4
gpt4 key购买 nike

我编写了一个使用 opencv 和 videowriter 生成视频输出的函数

我从我的 spyder/ipython ide 中的脚本调用这个函数。在调试过程中,该功能仍然存在错误,有时会在未释放视频文件的情况下中止。我尝试实现 try/exception,但仍有一些实例未被捕获。

每次发生这种情况时,输出视频文件都会保持锁定状态,例如在我关闭并重新启动 spyder ide 之前,我无法使用 Windows 资源管理器删除它或使用与输出相同的文件名来运行该程序。

有没有办法在不关闭 IDE 的情况下找到并释放所有这些“孤立的”视频编写器对象?

这是我的代码的一个虚拟示例:

import cv2
import numpy as np

def video_processing(path):
fourcc=cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')
fps=30
videoOut = cv2.VideoWriter(path,fourcc,fps,(100 ,100))

#some processing:
for i in range(10):
#result=np.ones((100,100))
#deliberately cause an error by providing misfit result
#result=np.ones((101,101))
#on some systems, dtype needs to be specified as pointed out in one answer
result=np.ones((101,101),dtype = np.uint8)

videoOut.write(result)

最佳答案

事实上,您的代码给出了一个错误。您必须指定 result = np.ones((100,100), dtype = np.uint8) 才能运行。否则你会得到一个失败的 OpenCV 断言。

我可以毫无问题地删除视频(我使用的是 Python IDLE),甚至无需关闭控制台。

关于python - 如何发布 'orphan' opencv videowriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38349643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com