Enregistrer plusieurs images avec OpenCV et Python
Je suis en utilisant OpenCV et Python pour prendre des images. Cependant, actuellement, je peux en prendre qu'une seule photo à la fois. Je voudrais avoir OpenCV pour prendre plusieurs photos. C'est mon code actuel.
import cv2.cv as cv
import time
cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(0)
while True:
img = cv.QueryFrame(capture)
cv.ShowImage("camera", img)
cv.SaveImage('pic.jpg', img)
if cv.WaitKey(10) == 27:
break
OriginalL'auteur ng150716 | 2013-06-15
Vous devez vous connecter pour publier un commentaire.
Votre code d'écraser un fichier. Enregistrer de fichier différent à chaque fois.
Par exemple:
Alors, au lieu de
While True:
, utilisezfor i in range(5):
.Yup, qui a fait le tour. Mais il crée seulement 5 images, puis continue à écraser le même 5 fichiers.
Vous avez demandé un moyen de
have it only take 5 pictures?
en commentaire.Si vous voulez éviter d'écraser dans chaque course, faire de nom de fichier pour utilisation autre que la simple compteur. (par exemple, timestamp).
OriginalL'auteur falsetru
changer le nom de l'image à enregistrer "[nom de l'image] [un nombre qui augmente après chaque boucle]"
En faisant cela, votre image sera enregistrée avec un nouveau nom après chaque boucle.. sinon toutes les images écrasera le même nom !
maintenant, vos images seront enregistrées comme pic0.jpg, pic1.jpg, pic2.jpg et ainsi de suite..
OriginalL'auteur Vipul
Un exemple minimal de ce que vous voudriez faire, basé sur le c++ lié interface.
Un exemple complet de script, capable de lire à partir d'un appareil photo de l'indice, ou un fichier. Comprend certains failsafes et quelques informations sur la lecture de l'appareil.
utilisation: record.py [source] [dossier de destination]
OriginalL'auteur ksamak
je pense que c'wil utile...
cela permettra d'économiser chaque image avec un nom différent.
OriginalL'auteur nima farhadi