使用 Python 录制视频
Recording video with Python
所以我一直在尝试使用位于 here 的代码为树莓派项目拍摄和录制 python 中的视频。我想使用 python,因为我与之交互的所有其他硬件都是用 Python 编写的。
我不太明白如何停止这个脚本。为我输入任何字符组合再多也无法阻止此脚本。有什么建议吗?
所有建议更正后的最终代码(在显示相机图片的屏幕上输入输入时有效):
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
#capture frame-by frame
ret,frame = cap.read()
#operations on the frame
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
#display
cv2.imshow('frame', gray)
key = cv2.waitKey(1000) & 0xFF
print key
if key == 27:
break
cap.release()
cv2.destroyAllWindows()
如果你按下了所有按钮,相机没有停止拍摄,这只是说明它不符合if
语句中的条件,因此它不会break
循环。
你可以做的是分配一个特定的键来停止捕获。如果您查看 this 问题中的代码,您可以看到 Mike 已将 ESCAPE 键(ASCII 代码 27
)指定为使他退出循环的键。
试试这个:
key = cv2.waitKey(1000) & 0xFF
参见 "warning" here。
所以我一直在尝试使用位于 here 的代码为树莓派项目拍摄和录制 python 中的视频。我想使用 python,因为我与之交互的所有其他硬件都是用 Python 编写的。
我不太明白如何停止这个脚本。为我输入任何字符组合再多也无法阻止此脚本。有什么建议吗?
所有建议更正后的最终代码(在显示相机图片的屏幕上输入输入时有效):
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
#capture frame-by frame
ret,frame = cap.read()
#operations on the frame
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
#display
cv2.imshow('frame', gray)
key = cv2.waitKey(1000) & 0xFF
print key
if key == 27:
break
cap.release()
cv2.destroyAllWindows()
如果你按下了所有按钮,相机没有停止拍摄,这只是说明它不符合if
语句中的条件,因此它不会break
循环。
你可以做的是分配一个特定的键来停止捕获。如果您查看 this 问题中的代码,您可以看到 Mike 已将 ESCAPE 键(ASCII 代码 27
)指定为使他退出循环的键。
试试这个:
key = cv2.waitKey(1000) & 0xFF
参见 "warning" here。