Die neue Version von iTerm bietet die Möglichkeit, Bilder im Terminal anzuzeigen (https://www.iterm2.com/documentation-images.html).
(Nachgedrucktes Bild von Offizielle Seite)
Beim Schreiben eines Programms wie der Bildverarbeitung wird häufig eine kleine Änderung vorgenommen und wiederholt ausgeführt, und Versuch und Irrtum werden viele Male wiederholt. In einem solchen Fall können Sie versuchen, einen Fehler mit hoher Geschwindigkeit zu machen, wenn Sie den Bildanzeigebefehl von iTerm verwenden.
Angenommen, Sie schreiben ein Programm, das Gesichter aus Bildern erkennt. Zu diesem Zeitpunkt gibt ** die Bildbinärdatei an die Standardausgabe aus. ** **.
import cv2
import sys
path = sys.argv[1]
cascade_file = "/usr/local/Cellar/opencv/2.4.12_2/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"
image = cv2.imread(path)
cascade = cv2.CascadeClassifier(cascade_file)
faces = cascade.detectMultiScale(image)
(x, y, w, h) = faces[0]
flag, buf = cv2.imencode('.png', image[y:y+h, x:x+w])
print(buf.tobytes())
Sie können das Bild in iTerm per Pipe anzeigen und an den Bildanzeigebefehl senden. Sie müssen kein Programm schreiben, um das Bild als Namen zu speichern oder auf der GUI anzuzeigen.
python face_detect.py ~/Downloads/trump.jpg | term-img
Ich verwende einen Befehl namens term-img, der mit npm eingeht. Ich denke, dasselbe gilt für den offiziellen Befehl imgcat.
Wenn Sie das Bild speichern möchten, können Sie die Standardausgabe speichern.
python face_detect.py ~/Downloads/trump.jpg > president.jpg
Ich denke, es gibt Zeiten, in denen ich es kleiner machen möchte, weil mein Gesicht zu groß ist. In einem solchen Fall können Sie die Größe ändern, indem Sie es beispielsweise von einer Pipe zu Imagemagick ausführen.
python face_detect.py ~/Downloads/trump.jpg | convert -resize 200x200 - jpg:- | term-img
Wenn Sie sich plötzlich wie Kunst fühlen, können Sie sie streamen, um das Bild zu beruhigen und zu zerstören.
python face_detect.py ~/Downloads/trump.jpg | convert -resize 64x64 - jpg:- | sed 's/0/1/g' | term-img
Wenn der Drang zur Zerstörung nicht unterdrückt werden kann, wird das Bild so angezeigt, wie es ist, indem es mit der for-Anweisung gedreht wird, und das zerstörte Bild kann mit hoher Geschwindigkeit bestätigt werden.
for i in $(seq 1 9); do python face_detect.py ~/Downloads/trump.jpg | convert -resize 64x64 - jpg:- | sed "s/0/$i/g" | term-img; done
Recommended Posts