Bilder mit Pupil, Python und OpenCV aufnehmen

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

Bilder mit Pupil, Python und OpenCV aufnehmen
Leuchtendes Leben mit Python und OpenCV
Neuronales Netzwerk mit OpenCV 3 und Python 3
Laden Sie das GIF-Bild mit Python + OpenCV
[python, openCV] base64 Gesichtserkennung in Bildern
[Python] Bilder mit OpenCV lesen (für Anfänger)
Importieren und Exportieren von GeoTiff-Bildern mit Python
[Python] Versuchen Sie, Zeichen aus Bildern mit OpenCV und pyocr zu erkennen
Binarisierung mit OpenCV / Python
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
Wavelet-Konvertierung von Bildern mit PyWavelets und OpenCV
Feature Matching mit OpenCV 3 und Python 3 (A-KAZE, KNN)
Programmieren mit Python und Tkinter
Ver- und Entschlüsselung mit Python
Angrenzende Bilder mit Python Teil 1
Mit Python + Tweepy können Sie Bilder und Videos der Medienzeitleiste abrufen
"Apple-Verarbeitung" mit OpenCV3 + Python3
Python und Hardware-Verwenden von RS232C mit Python-
Bildbearbeitung mit Python OpenCV
Kameraerfassung mit Python + OpenCV
[Python] Verwenden von OpenCV mit Python (Basic)
Versuchen Sie, die Bildkonvertierung mit OpenCV mit Python zu projizieren
Gesichtserkennung mit Python + OpenCV
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Python mit Pyenv und Venv
[Python] Webkamera-Rahmengröße und FPS-Einstellungen mit OpenCV
Laden / Anzeigen und Beschleunigen von GIF mit Python [OpenCV]
Fehlerbehebung bei der Installation von OpenCV auf Raspberry Pi und der Erfassung
Verwenden von OpenCV mit Python @Mac
Funktioniert mit Python und R.
Ich habe versucht, das Bild mit Python + OpenCV "morphologisch zu konvertieren"
Ich habe ein Programm erstellt, um Bilder mit Python und OpenCV in ASCII-Grafik umzuwandeln
Trennen Sie Farbbilder in RGB-Bilder und zeigen Sie sie mit OpenCV an
Konvertieren Sie Videos mit ffmpeg + python + opencv in Schwarzweiß
Kommunizieren Sie mit FX-5204PS mit Python und PyUSB
Zahlenerkennung in Bildern mit Python
Umgebungskonstruktion von Python und OpenCV
Roboter läuft mit Arduino und Python
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
AM-Modulation und Demodulation mit Python
Scraping mit Node, Ruby und Python
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Scraping mit Python, Selen und Chromedriver
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
Kratzen mit Python und schöner Suppe
JSON-Codierung und -Decodierung mit Python
Hadoop-Einführung und MapReduce mit Python
Einfache Python + OpenCV-Programmierung mit Canopy
[GUI in Python] PyQt5-Drag & Drop-
Veröffentlichen Sie mehrere Twitter-Bilder mit Python
Lesen und Schreiben von NetCDF mit Python
Animieren Sie mehrere Standbilder mit Python
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Schneiden Sie das Gesicht mit Python + OpenCV aus
Gesichtserkennung mit Kamera mit opencv3 + python2.7
Ich habe mit PyQt5 und Python3 gespielt
Lesen und Schreiben von CSV mit Python
Finden Sie Bildähnlichkeit mit Python + OpenCV