【发布时间】:2021-04-29 09:48:14
【问题描述】:
我在 Python 中创建了一个程序,它使用 opencv 抓取一些图像并保存它。我已经在我的 mac 上运行了这个程序,它运行良好,符合我的预期,但在我的计算机上,网络摄像头显示和第一个当我单击空间时的图像有效,但是当我第二次单击以抓取图像时它不起作用。以下是它显示的错误消息
[ 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()
【问题讨论】:
标签: python opencv opencv-python