La nouvelle version d'iTerm a la possibilité d'afficher des images dans le terminal (https://www.iterm2.com/documentation-images.html).
(Image réimprimée de Page officielle)
Lors de l'écriture d'un programme tel que le traitement d'image, il arrive souvent qu'une petite modification soit apportée et que l'exécution se répète plusieurs fois. Dans un tel cas, si vous utilisez la commande d'affichage d'image d'iTerm, vous pouvez essayer de faire une erreur à grande vitesse.
Par exemple, supposons que vous écriviez un programme qui reconnaît les visages à partir d'images. À ce stade, ** émet l'image binaire vers la sortie standard. ** **
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())
Vous pouvez afficher l'image dans iTerm par pipe et l'envoyer à la commande d'affichage d'image. Vous n'avez pas besoin d'écrire un programme pour enregistrer l'image sous un nom ou l'afficher sur l'interface graphique.
python face_detect.py ~/Downloads/trump.jpg | term-img
J'utilise une commande appelée term-img qui vient avec npm. Je pense que la même chose est vraie pour la commande officielle imgcat.
Si vous souhaitez enregistrer l'image, vous pouvez enregistrer la sortie standard.
python face_detect.py ~/Downloads/trump.jpg > president.jpg
Je pense qu'il y a des moments où je veux le réduire parce que mon visage est trop grand. Dans un tel cas, vous pouvez le redimensionner en l'exécutant depuis un tube vers imagemagick, par exemple.
python face_detect.py ~/Downloads/trump.jpg | convert -resize 200x200 - jpg:- | term-img
Si vous vous sentez soudainement comme de l'art, vous pouvez ensuite le diffuser pour sed et détruire l'image.
python face_detect.py ~/Downloads/trump.jpg | convert -resize 64x64 - jpg:- | sed 's/0/1/g' | term-img
En outre, lorsque l'envie de détruire ne peut pas être supprimée, l'image est affichée telle quelle en la tournant avec l'instruction for, et l'image détruite peut être confirmée à grande vitesse.
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