我用Python创建了一个程序,它使用opencv抓取一些图像并保存。我在mac上运行了这个程序,它运行得很好,达到了我的预期效果,但在我的计算机上,网络摄像头显示,当我单击space时第一个图像工作,但当我第二次单击抓取图像时,它不工作。以下是错误它所显示的信息
[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hfoi92lm\opencv\modules\videoio\src\cap_msmf.cpp (435) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
下面是我的代码
import cv2
import subprocess
from sys import exit
import os
# Code!
import time
cam = cv2.VideoCapture(0)
cv2.namedWindow("test")
cv2.startWindowThread()
img_counter = 0
while True:
ret, frame = cam.read()
if not ret:
print("failed to grab frame")
break
cv2.imshow("test", frame)
k = cv2.waitKey(1)
if k%256 == 27:
# ESC pressed
print("Escape hit, closing...")
break
elif k%256 == 32:
# SPACE pressed
img_name = f'\\Users\\Anush\\PycharmProjects\\PelletInspection\\Sample_Images\\Sample_Image_{img_counter}.jpg'
cv2.imwrite(img_name, frame)
print("{} written!".format(img_name))
img_counter += 1
cam.release()
cv2.destroyAllWindows()
尝试注释
#cv2.startWindowThread()
尝试编辑cv2.waitKey(33)
而不是cv2.waitKey(1)
相关问题 更多 >
编程相关推荐