计算机端接OpenCv图像采集程序

2024-04-19 08:30:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我用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()

Tags: nametest图像import程序imgcountercv2