[PYTHON] Capture de caméra WEB

Il s'agira d'écrire des notes pour ne pas l'oublier.

Un programme lié à l'acquisition et au stockage d'images à l'aide d'une caméra WEB. Parce que c'est l'une des réponses que les débutants ont réussi à atteindre Veuillez comprendre qu'il est mauvais si le spectateur le voit.

Je vous serais reconnaissant si vous pouviez me donner quelques conseils.

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

Bibliothèque utilisée

cap_save.ipynb


import cv2
import sys
import os
from datetime import datetime

Je souhaite utiliser la date de création du répertoire et le nom du fichier J'utilise ʻosetdatetime`.

Définition de la destination de sauvegarde et du nom du fichier

cap_save.ipynb


#Spécification du répertoire de stockage et définition du nom des données
dir_path = 'Destination'
basename = 'nom de fichier'

Définition de l'appareil utilisé

cap_save.ipynb


cap = cv2.VideoCapture(0)

Puisque (0) est réglé pour utiliser la caméra PC intégrée Lorsqu'une webcam (caméra USB) est connectée, elle est reconnue comme «(1)».

Créer un annuaire

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')

Créez une destination de sauvegarde d'image dans le répertoire de destination de sauvegarde (emplacement défini dans dir_path) avec ʻos.makedirs. Si la destination de sauvegarde existe, elle passera à la suivante sans aucun problème. Joindre les chemins avec ʻos.path.join. datetime est défini car vous souhaitez ajouter l'heure d'acquisition au nom du fichier.

Imagerie

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

Je veux ajouter des numéros de série aux images prises elles-mêmes, alors définissez d'abord n = 0. Après cela, si vous appuyez sur le clavier "O", vous pouvez utiliser cv2.imwrite ((base_path + datename + '_' + str (n) +" .png "), frame) Enregistre l'image dans le dossier spécifié. Je pense qu'il existe une manière plus élégante d'écrire J'utilise ce format pour me permettre de comprendre plus facilement «où» et «quel nom».

J'ai pu prendre une image → la sauvegarder sans aucun problème.

Je l'ai implémenté dans raspberrypi (stretch) avec thonny et il a fonctionné sans aucun problème.

c'est tout.

Recommended Posts

Capture de caméra WEB
Capture de caméra WEB Ver3
Capture de caméra Python, OpenCV
Capture de caméra avec Python + OpenCV
Obtenez une capture d'écran Web avec python
Calibrage de la caméra
raclage Web
Capture de caméra WEB Ver3
Capture de caméra WEB
Capture de caméra Python, OpenCV
Capture de caméra avec Python + OpenCV
Obtenez une capture d'écran Web avec python