[PYTHON] WEB Kameraaufnahme

Es geht darum, Notizen zu schreiben, damit Sie sie nicht vergessen.

Ein Programm zur Bildaufnahme und -speicherung mit einer WEB-Kamera. Weil es eine der Antworten ist, die Anfänger erreichen konnten Bitte haben Sie Verständnis dafür, dass es schlecht ist, wenn der Betrachter es sieht.

Ich würde mich freuen, wenn Sie mir einen Rat geben könnten.

Umgebung Windows10(64bit) anacondanavigator python3(3.7.7) opencv(3.4.2)

Bibliothek verwendet

cap_save.ipynb


import cv2
import sys
import os
from datetime import datetime

Ich möchte das Datum für die Verzeichniserstellung und den Dateinamen verwenden Ich benutze "os" und "datetime".

Definition des Speicherziels und des Dateinamens

cap_save.ipynb


#Angeben des Speicherverzeichnisses und Definieren des Datennamens
dir_path = 'Ziel'
basename = 'Dateiname'

Definition des verwendeten Geräts

cap_save.ipynb


cap = cv2.VideoCapture(0)

Da (0) eingestellt ist, um die eingebaute PC-Kamera zu verwenden Wenn eine Webkamera (USB-Kamera) angeschlossen ist, wird sie als "(1)" erkannt.

Ein Verzeichnis erstellen

cap_save.ipynb


os.makedirs(dir_path,exist_ok=True)
base_path = os.path.join(dir_path,basename)
datename = datetime.now().strftime('%m%d%H%M')

Erstellen Sie mit os.makedirs ein Bildspeicherziel im Speicherzielverzeichnis (Speicherort in dir_path festgelegt). Wenn das Speicherziel vorhanden ist, wird es problemlos zum nächsten weitergeleitet. Verbinden Sie Pfade mit os.path.join. datetime ist eingestellt, weil Sie die Erfassungszeit zum Dateinamen hinzufügen möchten.

Bildgebung

cap_save.ipynb


n = 0
while True:
    
    ret,frame = cap.read()
    cv2.imshow(basename,frame)
    key = cv2.waitKey(1) & 0xFF    
    if key == ord('o'):
        cv2.imwrite((base_path + datename +'_'+ str(n) + ".png "),frame)
        n += 1
    elif key == ord('q'):
        break
        
cap.release()
cv2.destroyAllWindows()

Ich möchte den aufgenommenen Bildern selbst Seriennummern hinzufügen, also setze zuerst n = 0 Wenn Sie danach die Tastatur "O" drücken, können Sie "cv2.imwrite ((Basispfad + Dateiname +" _ "+ str (n) +" .png "), Frame)" verwenden Speichert das Bild im angegebenen Ordner. Ich denke, es gibt eine stilvollere Art zu schreiben Ich benutze dieses Format, um mir das Verständnis von "wo" und "welcher Name" zu erleichtern.

Ich konnte ein Bild aufnehmen → ohne Probleme speichern.

Ich habe es in Himbeerpi (Stretch) mit Thonny implementiert und es lief ohne Probleme.

das ist alles.

Recommended Posts

WEB Kameraaufnahme
WEB Kameraaufnahme Ver3
Python, OpenCV-Kameraerfassung
Kameraerfassung mit Python + OpenCV
Holen Sie sich Web-Screen-Capture mit Python
Kamerakalibrierung
Web Scraping
WEB Kameraaufnahme Ver3
WEB Kameraaufnahme
Python, OpenCV-Kameraerfassung
Kameraerfassung mit Python + OpenCV
Holen Sie sich Web-Screen-Capture mit Python