OpenCV über python: gibt es eine schnelle Möglichkeit, um null-Pixeln, die außerhalb einer Reihe von Rechtecken?
Habe ich ein Bild von einem Gesicht, und ich habe verwendet, haar-Kaskaden zu erkennen, die Orte (x,y,Breite,Höhe) von Mund, Nase und Auge. Ich möchte alle Pixel, die außerhalb dieser Regionen auf null. Was wäre der Schnellste (rechnerisch) Weg, dies zu tun? Ich werde schließlich tun Sie es, um video-frames in Echtzeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob es der Schnellste Weg ist, aber Es ist ein Weg, es zu tun.
Erstellen Sie ein Bild mit der Maske, mit der region des Gesicht so weiß, dann bewerben Sie sich bitwise_and Funktion mit original Bild-und Masken-Bild.
Dauert es
0.16 ms
in meinem system (core i5,4GB RAM) für ein Bild der Größe 400x300BEARBEITEN - BESSER-METHODE: Sie müssen nicht wie oben. Erstellen Sie einfach eine null-image und kopieren Sie anschließend den ROI vom ursprünglichen Bild zu zero-image. das ist alles.
Dauert es nur
0.032 ms
in meinem system für die oben genannten Parameter,5 times faster
als oben.Ergebnisse :
Eingang Bild :
Ausgabe :