示例#1
0
#ROI koordinaten laden
(RoiX1, RoiY1, RoiX2, RoiY2) = Klassifikator.roi()
(DetectorRoiX1, DetectorRoiY1, DetectorRoiX2,
 DetectorRoiY2) = Klassifikator.roi("det_roi.txt")

LEDS = 6  #Arduino DO6
MOTOR = 7  #Arduino DO7

Kamerbild = None

cap = cv2.VideoCapture(Einstellungen.CameraID)  #Kamera einschalten
time.sleep(2)
cap.set(cv2.CAP_PROP_EXPOSURE, Einstellungen.Exposure)

ProzessKetteSVMData = procchain.ProcChain(
    "SVM-Data"
)  #Neue Prozesskette zum Umwandeln des Bildes in SVM-Taugliche Daten
ProzessKetteSVMData.append(procchain.ImgProcToGray())  #Graustufen
ProzessKetteSVMData.append(procchain.ImgProcStore(
    "ROI"))  #Speichere akt. Bild in der Kette unter dem Namen ROI
ProzessKetteSVMData.append(
    procchain.ImgProcObjRoi("ObjRoi"))  #ROI/Rahmen vom Objekt finden
ProzessKetteSVMData.append(procchain.ImgProcUse(
    "ROI"))  #Gespeicheres Bild mit dem Namen ROI als akt. benutzen
ProzessKetteSVMData.append(
    procchain.ImgProcRoiByName("ObjRoi")
)  #Aus dem Bild den Ausschnitt gefunden in "ObjRoi" herausschneiden
ProzessKetteSVMData.append(procchain.ImgProcResize(
    32, 32))  #Ausschnitt auf 32x32 Pixel verkleinern
ProzessKetteSVMData.append(
    procchain.ImgProcNorm())  #Bild normalisieren, alle Werte zwischen 0 und 1
示例#2
0
    else:
        cv2.rectangle(Kamerbild, (DetectorRoiX1, DetectorRoiY1), (DetectorRoiX2, DetectorRoiY2), (255, 0, 0), 2)
    cv2.imshow("VideoIn", Kamerbild)

cv2.namedWindow("VideoIn")


Exposure=-8
cap = cv2.VideoCapture(1)   #Kamera einschalten
time.sleep(2)
cap.set(cv2.CAP_PROP_EXPOSURE, Exposure)

cl.setBaseDir(BaseDir)


pc = procchain.ProcChain("ROI")
pc.append(procchain.ImgProcToGray())
pc.append(procchain.ImgProcRoi( RoiX1, RoiX2, RoiY1, RoiY2))
pc.enableDebug(True)

pc1 = procchain.ProcChain("SVM-Data")
pc1.append(procchain.ImgProcToGray())
pc1.append(procchain.ImgProcStore( "ROI"))
pc1.append(procchain.ImgProcObjRoi("ObjRoi"))
pc1.append(procchain.ImgProcUse( "ROI"))
pc1.append(procchain.ImgProcRoiByName( "ObjRoi"))
pc1.append(procchain.ImgProcResize(32, 32))
pc1.append(procchain.ImgProcNorm())
pc1.append(procchain.ImgProcStore("result"))
pc1.enableDebug(True)
示例#3
0
# -*- coding: utf-8 -*-
import os, sys  # Dateien, Verzeichnisse
import cv2  # OpenCV - Computer Vision Bibliothek
import numpy as np  # Notwendig fue OpenCV/Python
from ml2 import procchain  # Process-Chain Kette Der Funktionen fuer die Bildmanipulation

cap = cv2.VideoCapture(0)  #Bilder werden von der Kamera eingelesen

pc = procchain.ProcChain()  #Eine Instanz von Process-chain erzeugen

######## Alle moeglichen Operationen #############
pc.append(procchain.ImgProcToGray())
#pc.append(procchain.ImgProcBlur())
#pc.append(procchain.ImgProcSplit('r', 'g', 'b'))
#pc.append(procchain.ImgProcUse('r'))
#pc.append(procchain.ImgProcChRed())
#pc.append(procchain.ImgProcChGreen())
#pc.append(procchain.ImgProcChBlue())
#pc.append(procchain.ImgProcStore())
#pc.append(procchain.ImgProcTh(120))
#pc.append(procchain.ImgProcThInv(120))
#pc.append(procchain.ImgProcThOtsu())
#pc.append(procchain.ImgProcThAdpt())
#pc.append(procchain.ImgProcResize(64,64))
#pc.append(procchain.ImgProcNorm())
#pc.append(procchain.ImgProcBin())
pc.append(procchain.ImgProcPyrDn())
pc.append(procchain.ImgProcPyrDn())
pc.append(procchain.ImgProcPyrDn())
pc.append(procchain.ImgProcBilFilter())
#pc.append(procchain.ImgProcRoi(100, 300, 100, 300))
示例#4
0
import os, sys
import cv2
import numpy as np
from ml2 import featex
from ml2 import procchain
from ml2 import classifier



cap = cv2.VideoCapture(0)
pc = procchain.ProcChain()
pc.append(procchain.ImgProcToGray())
pc.append(procchain.ImgProcRoi(0, 200, 0, 200))

cl = classifier.Classifier()

ret = cl.setBaseDir("c:/tmp/hand");


while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()
    cv2.imshow("VideoIn", frame)
    simg = pc.process(frame)
    cv2.imshow("VideoStore", simg)
    k = cv2.waitKey(100)& 0xFF
    if k  == ord('q'):
        break
    elif k  == ord('o'):
        t.addItem(simg,'open_hand')
    elif k  == ord('c'):