我是Python(2.7)的新手,我尝试从事视频处理(使用模块openCv"cv2").从教程开始,我尝试使用本教程的脚本:段落"保存视频".一切正常,除了我保存的视频是空的.我可以在我的目录中找到output.avi,但它的内存大小是0kb,当然,当我运行它时,没有显示视频.
经过一些更改后,我的代码是:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
# Define the codec and create VideoWriter object
#fourcc = cv2.VideoWriter_fourcc(*'DIVX')
fourcc = cv2.cv.CV_FOURCC(*'DIVX')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
# write the flipped frame
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
有谁知道它为什么不能正常工作?
非常感谢.埃德温
我正在使用gitlab CI为我的网站设置部署过程。我有一个production网站和一个带有staging部署的子域。
假设我在其中有不同的分支:master和release。我有一个配置为.yaml的文件,其配置如下:如果按下master,则将在production(具有手动选项)上进行部署;如果按下分支版本,则将在进行自动部署staging。
git push origin master
Run Code Online (Sandbox Code Playgroud)
部署到生产中(带有手动验证),
git push origin release
Run Code Online (Sandbox Code Playgroud)
部署到分期。并且任何其他推送的分支都不会部署。
我们有几个人要工作,有时,我们希望能够在git push feature上staging指定标签(例如specifictag)时部署另一个分支(例如):
git tag specifictag
git push origin feature --tags
Run Code Online (Sandbox Code Playgroud)
这对我很有用,因为有时某些开发人员希望在合并发布之前测试其代码,而我们不想创建第三个环境。当然,我们不想每次推送任何分支时都进行部署。
stages:
- staging
- production
test-deployment:
stage: staging
script:
- [...]
only:
- release
tags:
- extranetserver
prod-deployment:
stage: production
script:
- [...]
only:
- master
tags:
- extranetserver
when: manual
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使用标签作为推送特定标签时强制部署的方式?谢谢!