Capturer des images avec Pupil, python et OpenCV

Pupil is a head-mounted eye tracker, which is very low price (380 Euro~) See Pupil lab: http://pupil-labs.com/pupil/

Although a good sdk for MacOS and Linux is available officially, I had a try to use this device just for capuring inside/outside views.

capture.py


import cv2
import sys
import numpy as np
import re


def init_camera(id, width, height):
	u'''
	Initializing a camera
	'''
    cap = cv2.VideoCapture(id)
    cap.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, width)
    cap.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, height)

    return cap


def run(ids, width=320, height=180):
	u'''
	Capturing images
	'''
    caps = [init_camera(id, width, height) for id in ids]

    while(True):
        # Capture frame-by-frame
        for id in ids:
            ret, frame = caps[id].read()

            # Our operations on the frame come here

            # Display the resulting frame
            cv2.imshow('cam %d' % id, frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    # When everything done, release the capture
    for id in ids:
        caps[id].release()
    cv2.destroyAllWindows()


def parse_argvs(argvs):
    if(len(argvs) == 1):
        print 'Usage: python capture.py --ids [0, 1, ...] --width [width], --height [height]'

    if '--width' in argvs:
        width = np.int(argvs[argvs.index('--width') + 1])
    else:
        width = 320
    if '--height' in argvs:
        height = np.int(argvs[argvs.index('--height') + 1])
    else:
        height = 180
    if '--ids' in argvs:
        ids = []
        idx = argvs.index('--ids') + 1
        while(re.match('--.*', argvs[idx]) is None):
            ids.append(np.int(argvs[idx]))
            idx = idx + 1
    else:
        ids = [0]

    return ids, width, height

if(__name__ == '__main__'):
    ids, width, height = parse_argvs(sys.argv)
    run(ids, width, height)

Example:

python capture.py --ids 0 1 --width 320 --height 180


 ![kobito.1414127169.369296.png](https://qiita-image-store.s3.amazonaws.com/0/69/9106d176-d0de-5ce1-0f2c-65d2a0e2339f.png "kobito.1414127169.369296.png ")



Recommended Posts

Capturer des images avec Pupil, python et OpenCV
Briller la vie avec Python et OpenCV
Réseau neuronal avec OpenCV 3 et Python 3
Charger une image gif avec Python + OpenCV
[python, openCV] base64 Reconnaissance faciale dans les images
[Python] Lire des images avec OpenCV (pour les débutants)
Importer et exporter des images GeoTiff avec Python
[Python] Essayez de reconnaître les caractères des images avec OpenCV et pyocr
Binarisation avec OpenCV / Python
Installez OpenCV 4.0 et Python 3.7 sur Windows 10 avec Anaconda
Conversion en ondelettes d'images avec PyWavelets et OpenCV
Correspondance des fonctionnalités avec OpenCV 3 et Python 3 (A-KAZE, KNN)
Programmation avec Python et Tkinter
Chiffrement et déchiffrement avec Python
Images en bordure avec python Partie 1
Obtenez des images et des vidéos de la chronologie des médias avec Python + Tweepy
"Traitement Apple" avec OpenCV3 + Python3
Python et matériel - Utilisation de RS232C avec Python -
Édition d'image avec python OpenCV
Capture de caméra avec Python + OpenCV
[Python] Utilisation d'OpenCV avec Python (basique)
Essayez de projeter la conversion d'image en utilisant OpenCV avec Python
Détection de visage avec Python + OpenCV
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
python avec pyenv et venv
[Python] Taille d'image de la caméra Web et paramètres FPS avec OpenCV
Chargement / affichage et accélération de gif avec python [OpenCV]
Résoudre les problèmes liés à l'installation d'OpenCV sur Raspberry Pi et à la capture
Utiliser OpenCV avec Python @Mac
Fonctionne avec Python et R
J'ai essayé la "conversion de morphologie" de l'image avec Python + OpenCV
J'ai créé un programme pour convertir des images en art ASCII avec Python et OpenCV
Séparez les images couleur en images RVB et affichez-les avec OpenCV
Convertir une vidéo en noir et blanc avec ffmpeg + python + opencv
Communiquez avec FX-5204PS avec Python et PyUSB
Reconnaissance des nombres dans les images avec Python
Construction d'environnement de python et opencv
Robot fonctionnant avec Arduino et python
Installez Python 2.7.9 et Python 3.4.x avec pip.
Modulation et démodulation AM avec python
Scraping avec Node, Ruby et Python
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Grattage avec Python, Selenium et Chromedriver
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Grattage avec Python et belle soupe
Encodage et décodage JSON avec python
Introduction à Hadoop et MapReduce avec Python
Programmation facile Python + OpenCV avec Canopy
[GUI en Python] PyQt5-Glisser-déposer-
Publiez plusieurs images Twitter avec python
Lire et écrire NetCDF avec Python
Animez plusieurs images fixes avec Python
Essayez la reconnaissance faciale avec python + OpenCV
Découpez le visage avec Python + OpenCV
Reconnaissance faciale avec caméra avec opencv3 + python2.7
J'ai joué avec PyQt5 et Python3
Lire et écrire du CSV avec Python
Trouver la similitude d'image avec Python + OpenCV