簡體   English   中英

OpenCV Python View網絡攝像頭提要在需要之前?

[英]OpenCV Python View webcam feed before it takes a snap?

因此,我的代碼應該使用opencv檢測到一個對象,一旦檢測到它,就應該對其進行捕捉。 哪個功能還不錯...。但是它只是轉到網絡攝像頭,而沒有向我顯示網絡攝像頭提要。 當檢測到物體時,它會捕捉並顯示圖像。

我要看的是網絡攝像頭提要,直到它檢測到對象。...我該怎么做?

這是我的代碼:

import cv2
cascade = cv2.CascadeClassifier('xcascade.xml')
cap = cv2.VideoCapture(1)

num = 0
while num<1000:
    ret, img = cap.read()
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

    cas = cascade.detectMultiScale(gray, 10, 10)
    for(x,y,w,h) in cas:
        font = cv2.FONT_HERSHEY_SIMPLEX
        cv2.rectangle(img,(x,y), (x+w,y+h),(255,255,0),5)
        cv2.putText(img, 'Something',(x,y-120), font, 1.5, (0,255,255),5, cv2.LINE_AA)
        num = num+1
        cv2.imshow('img',img)
        cv2.waitKey(1000)
        cap.release()
        cv2.desrtoyAllWindows()
        break

僅當檢測到圖像時才顯示圖像,您需要將imshow移到for循環之外。

import cv2
cascade = cv2.CascadeClassifier('xcascade.xml')
cap = cv2.VideoCapture(1)

num = 0
while num<1000:
    ret, img = cap.read()
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

    cas = cascade.detectMultiScale(gray, 10, 10)
    for(x,y,w,h) in cas:
        font = cv2.FONT_HERSHEY_SIMPLEX
        cv2.rectangle(img,(x,y), (x+w,y+h),(255,255,0),5)
        cv2.putText(img, 'Something',(x,y-120), font, 1.5, (0,255,255),5, cv2.LINE_AA)
        num = num+1

        cv2.imshow('img',img)
        cv2.waitKey(1000)
        cap.release()
        cv2.desrtoyAllWindows()
        break

    cv2.imshow('img',img)
    cv2.waitKey(1000)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM