Python中文
首页
教程
问答
标签
搜索
登录
注册
OpenCV视频中的回放循环选项
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图为OpenCV视频构建一个回放循环选项。我的程序使用Python多处理,并有一个按钮通过<code>queue4</code>发送<code>loopswitch</code>调用来启用或禁用循环选项。我的具体问题是,我的视频冻结在最后一帧,我想知道行<code>vidFile.set(cv2.cv.CV_CAP_PROP_POS_FRAMES, 1)</code>是否正确使用了<code>cv2.VideoCapture.set()</code>方法</strong>,并且确实应该将视频带回到第1帧并重新播放(我认为应该)。</p> <h2>编辑</h2> <P>修改了我的代码后,现在触发了运行时C++错误,但是没有给出其他的精确性。 根据<a href="https://stackoverflow.com/a/11260842/2322456">this answer</a>,使用<code>cv2.VideoCapture.set()</code>在帧之间跳转似乎是错误的。有人管理过吗?</p> <p>谢谢你</p> <p>我的捕获进程代码(<code>queue</code>和<code>queue2</code>在进出队列中):</p> <pre><code>def image_capture(queue, con, queue2, queue4): videopath = con.recv() vidFile = cv2.VideoCapture(videopath) fps = vidFile.get(cv2.cv.CV_CAP_PROP_FPS) waitframe = 1/fps con.send(waitframe)#sending waitkey duration through pipe to update_image() loopswitch = False #init for playing video in a loop while True: if queue4.empty(): pass else: queueval = queue4.get() if queueval=='loop': if loopswitch==False: loopswitch = True elif loopswitch==True: loopswitch = False try: flag, frame=vidFile.read() if flag==0: if loopswitch==False: queue2.put(None) break elif loopswitch==True: vidFile.set(cv2.cv.CV_CAP_PROP_POS_FRAMES, 1) continue else: queue2.put(frame) cv2.waitKey(waitframe) except: continue </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我通过将vidFile.set <code>(cv2.cv.CV_CAP_PROP_POS_FRAMES, 1)</code>替换为<code>vidFile.set(cv2.cv.CV_CAP_PROP_POS_AVI_RATIO, 0)</code>部分解决了这个问题,尽管这只适用于.avi文件。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
1 回答
尽管python中的表达式为false,但循环仍在运行
3 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
3 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
7 回答
尽管python字典包含了大量的条目,但它并没有增长
3 回答
尽管python说模块存在,为什么我会得到这个消息?
5 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
8 回答
尽管stdout和stderr重定向,但未捕获错误消息
8 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
4 回答
尽管tkinter上的变量已更改,但显示未更改
6 回答
尽管try/except使用Python进行单元测试时出现断言错误
7 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
9 回答
尽管url有效,Pandas仍读取url的\u csv错误
6 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
6 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
4 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
3 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
3 回答
尽管下载了i,但找不到型号“fr”
10 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
8 回答
尽管为所有行指定了权重,网格(0)仍不起作用
7 回答