我的代码:
import cv2
cap = cv2.VideoCapture(0)
cv2.namedWindow('frame', cv2.WINDOW_NORMAL)
while True:
key = cv2.waitKey(0) & 0xFF
ret, frame = cap.read()
cv2.imshow('frame', frame)
if key == ord('q'):
cap.release()
cv2.destroyAllWindows()
break
if key == ord('c'):
cv2.imwrite('capture.jpg', frame)
cap.release()
cv2.destroyAllWindows()
相机滞后一步。为什么呢?
答案 0 :(得分:1)
这可能与缺少values = [5, 6, 9, 11, 13, 14, 17, 18, 20, 21, 23,
24, 25, 26, 27, 31, 32, 34, 41, 42, 44, 45, 46, 47, 49]
s = pd.Series(values)
s1 = s.groupby(s.diff().gt(1).cumsum() + 1).apply(lambda x: ','.join(x.astype(str)))
print (s1)
1 5,6
2 9
3 11
4 13,14
5 17,18
6 20,21
7 23,24,25,26,27
8 31,32
9 34
10 41,42
11 44,45,46,47
12 49
dtype: object
有关,窗口没有更新,虽然这很奇怪。
尝试在imshow之后添加cv::waitKey(0)
命令
cv::waitKey
我认为这可能是因为当你执行imwrite时,你有效地打破了while循环(虽然稍微)用opencv做其他事情。