Ich habe 12.000 Fotos von einer Veranstaltung, bei der auf jedem Foto nur eine Person zu sehen ist. Ich muss diese Fotos zuschneiden, um die Drittelregel anzuwenden. Die Idee, all diese Dinge einzeln zu machen, ist gewaltig und ich kann nicht einfach 10% von ihnen allen abziehen, da jedes Foto ein bisschen anders ist.
Gibt es eine Möglichkeit, alle diese Fotos basierend auf der Position der Person automatisch zuzuschneiden?
Antworten:
Hier ist eine Lösung mit
python
undopencv
:Dadurch werden alle in den JPEG-Fotos gefundenen Gesichter in dem Ordner zugeschnitten, in dem Sie sie ausführen. Der Abstand wird durch die
left, right, top, bottom
Variablen angegeben:Benutzen
Um das obige Skript zu verwenden , die Sie benötigen
python
undopencv
installiert (einfach mal googlen , wie die Installationopencv
für Ihre Plattform).Speichern Sie dann den obigen Code als
.py
Datei"autocrop.py"
oder so etwas. Laden Sie dann diese Datei herunter, speichern Sie sie und legen Sie sie im selben Verzeichnis wie Ihre Bilder ab.Das Skript sollte alle
.jpg
Dateien im Ordner finden und sie basierend auf den im Python-Code festgelegten Auffüllungseinstellungen zuschneiden.Beispiel:
Wenn der obige Code auf 10 px eingestellt ist, um dramatisch zu sein, sind hier die Quelle und das Ergebnis:
Ergebnis:
Hier ist das Tutorial, das ich schamlos angepasst habe:
https://realpython.com/blog/python/face-recognition-with-python/
Dieses Tutorial kann viel besser alles erklären als ich. Im Grunde genommen habe ich diesen Code einfach genommen und ein wenig zu Batch-Prozessen hinzugefügt (anstatt Dateinamen einzugeben) und dann angewiesen, zuzuschneiden und zu speichern, anstatt ein Rechteck zu zeichnen und das Bild anzuzeigen.
quelle
pip install opencv-python
, 2. Aktualisieren Sie alleprint
Anweisungen, um Klammern zu verwenden. 3. Wechseln Siecv2.cv.CV_HAAR_SCALE_IMAGE
zucv2.CASCADE_SCALE_IMAGE
(Quelle: stackoverflow.com/a/36243142/2125392 )Haftungsausschluss: Ich bin der Entwickler dieses Tools.
Sie können Face Crop Jet verwenden , um Gesichter von Fotos in großen Mengen zu erkennen und zu beschneiden. Es werden Bilder in jedem Format oder jeder Größe unterstützt. Gesichter werden automatisch erkannt und beschnitten (nicht nur das Gesicht, ein Profilbild für ID-Karten).
Die Software kann von http://www.facecropjet.com heruntergeladen werden
quelle