[PYTHON] La fonction d'affichage d'image d'iTerm est pratique lors du traitement d'images.

La nouvelle version d'iTerm a la possibilité d'afficher des images dans le terminal (https://www.iterm2.com/documentation-images.html).

image (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

image

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

Combinez avec d'autres commandes

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

image

Quand tu veux pépin

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 image

Quand tu veux beaucoup pépin

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 image

Recommended Posts

La fonction d'affichage d'image d'iTerm est pratique lors du traitement d'images.
Traitement d'image? L'histoire du démarrage de Python pour
Comprendre la fonction de convolution en utilisant le traitement d'image comme exemple
Parlons de la courbe de tonalité du traitement d'image ~ LUT est incroyable ~
Pourquoi l'entropie croisée est-elle utilisée pour la fonction objective du problème de classification?
Quelle est la fonction d'activation?
100 traitement de la langue knock-42: Affichage de la phrase de la personne concernée et de la personne concernée
Traitement linguistique 100 knocks-29: Obtenez l'URL de l'image du drapeau
Quelle est la meilleure méthode pour le traitement asynchrone du serveur TCP?
A quoi sert l'interface ...
Qu'est-ce que la fonction de rappel?
2015-11-26 python> Afficher la liste des fonctions du module> import math> dir (math)
L'image est Namekuji
Aiguille en or pour quand elle devient une pierre en regardant la formule du traitement d'image
Affichage en temps réel de la progression du traitement côté serveur sur le navigateur (implémentation de la barre de progression)
Considérez la vitesse de traitement pour déplacer le tampon d'image avec numpy.ndarray
Une fonction qui mesure le temps de traitement d'une méthode en python
Pourquoi l'expression distribuée des mots est-elle importante pour le traitement du langage naturel?
[Pour les débutants] Fonction récursive (Facile à comprendre la tour de Hanoi!)
for, continue, break Expliquer le flux du traitement itératif dans Python3-Part 1
La probabilité de précipitation est-elle correcte?
Notes personnelles pour le traitement d'images python
À quoi sert le trait de soulignement Python (_)?
Science "Saito est-il le représentant de Saito?"
J'ai essayé d'obtenir les résultats de Hachinai en utilisant le traitement d'image
[Ota Ward] Vérifiez l'état du traitement des demandes de prestations forfaitaires spéciales
[Exemple d'amélioration de Python] Quel est le site d'apprentissage recommandé pour les débutants en Python?
A propos des principales tâches de traitement d'image (vision par ordinateur) et de l'architecture utilisée
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
Bases du traitement d'images binarisées par Python
Affichage de l'image prise avec l'ISIGHT intégré
Qu'est-ce que clivoa, un framework pour le traitement ETL?
Échelle de gris par matrice-Reinventor of Python image processing-
Afficher le graphique de tensorBoard sur Jupyter
A propos des arguments de la fonction setup de PyCaret
[python] [meta] Le type de python est-il un type?
Présentation de la fonction addModuleCleanup / doModuleCleanups de unittest
La troisième nuit de la boucle avec pour
Pandas du débutant, par le débutant, pour le débutant [Python]
Dessin avec Matrix-Reinventor of Python Image Processing-
Algorithme de hachage pour déterminer la même image
La deuxième nuit de la boucle avec pour
L'histoire du traitement A du blackjack (python)
Solution: l'affichage du pop-up jedi-vim est cassé
La barre oblique arrière du clavier japonais est "ro"
Filtrage par convolution par matrice-Reinventor of Python image processing-
[IOS] Modifiez la durée d'affichage de chaque image de l'animation GIF dans Pythonista3.
Fonction de création de quart de travail Django Ajout de la fonction d'enregistrement de travail de base pendant des jours
[Python] Nombre de chaînes entières de longueur n pour lesquelles la somme est m
Affichons un template simple idéal pour le premier Django
J'ai essayé d'automatiser le travail de masquage du visage de l'image de coordination pour l'usure