[PYTHON] Comprendre comment afficher des images sur Jupyter (utilisation de imshow / matplotlib d'OpenCV)

introduction

Cet article est un article qui tente de comprendre comment afficher une image sur Jupyter et la fonction correspondant à l'image de sortie en modifiant l'argument et la liste. Étant donné que je suis un débutant en apprentissage automatique, je vous serais très reconnaissant de bien vouloir signaler vos opinions ou erreurs.

emballer

Afficher les images en ligne

pic.ipynb



import cv2
import matplotlib.pyplot as plt

img = cv2.imread('012.JPG') #Pic n'importe quelle image que vous souhaitez charger.Mettez-le dans le même dossier que ipynb.
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(1,1,1)
ax.imshow(img)
ax.axis("off")

012.png

Tout d'abord, j'ai affiché l'image en gros. Ici, (-0,5 719,5 719,5, -0,5) signifie que la coordonnée inférieure gauche est (-0,5 719,5) et la coordonnée supérieure droite est (719,5, -0,5). L'affichage de l'image est différent de la direction de l'axe xy apprise en mathématiques, et l'origine est en haut à gauche, donc ce sera comme suit.

014.png

Vérifiez la taille de l'image

pic.ipynb


img.shape
(720, 720, 3)

Puisqu'il représente (résolution verticale, résolution horizontale, nombre de canaux), vous pouvez voir qu'il y a 3 canaux de 720 x 720 (= couleur RVB). ** Notez que si cela est exprimé en xy, ce sera (y, x, nombre de canaux). ** **

Afficher les coordonnées de l'image et l'image à cette position

pic.ipynb


img[0,0]
array([162, 127,  77], dtype=uint8)

Il s'avère que la valeur RVB de la position d'origine (0,0) est (162,127,77). De plus, lorsqu'il sera affiché, ce sera comme suit.

pic.ipynb



fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(111)
ax.imshow(img[0:1,0:1])#Afficher et spécifier les coordonnées de valeur dans la plage
ax.axis("on")

015.png

Même si vous souhaitez afficher les coordonnées (0,0), une erreur se produira à moins que vous ne spécifiiez une plage telle que [0: 1, 0: 1], soyez donc prudent.

Faites attention aux coordonnées x et y lors de l'affichage

pic.ipynb


fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(111)
ax.imshow(img[0:720,0:10])
ax.axis("on")

Si vous spécifiez img [0: 720,0: 10], il sera affiché verticalement car il sera affiché comme y: 0 à 720 et x: 0 à 10. Notez que l'inverse est vrai s'il y a des têtes de coordonnées x et y. L'image ci-dessous est une image verticalement longue.

018.png

Appliquer la mosaïque à l'aide du module de redimensionnement

pic.ipynb


img_re= cv2.resize(img, dsize=None, fx=0.1, fy =0.1)
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(1,1,1)
ax.imshow(img_re)
ax.axis("off")

La mosaïque est appliquée en réduisant le nombre de pixels à 1/10 avec le module cv2.resize (). Dans l'argument de redimensionnement, fx et fy sont les agrandissements de x et y. Cette fois, en le réglant sur 0,1 (= 10%), le nombre de pixels a été réduit à 1/10.

016.png

Augmenter la transparence

pic.ipynb


fig, ax = plt.subplots(facecolor="w")
ax.imshow(img, alpha=0.5)

plt.show()

En spécifiant l'argument alpha du module imshow dans la plage de 0 à 1 et en déterminant la transparence, il est possible de passer à une teinte plus claire.

017.png

À la fin

Si vous souhaitez gérer et traiter des images, cette opération est basique. J'ai pensé qu'il était très important d'avoir une vraie sensation en bougeant mes mains.

Le programme complet est stocké ci-dessous. https://github.com/Fumio-eisan/jupyter_pic20200313

Recommended Posts

Comprendre comment afficher des images sur Jupyter (utilisation de imshow / matplotlib d'OpenCV)
Comment afficher des images en continu avec matplotlib Memo
Comment afficher plusieurs images d'une galaxie en tuiles
Afficher les images PIL sur Jupyter
Comment installer OpenCV sur Mac
Comment exécuter matplotlib sur heroku
Comment utiliser Jupyter sur le frontal de Spacon ITO
Comment supprimer l'erreur d'affichage dans matplotlib
Comment afficher des pictogrammes sur Manjaro Linux
Afficher le graphique de tensorBoard sur Jupyter
Jupyter Notebook Principes d'utilisation
Comment dessiner une image OpenCV avec Pygame
[Python] Comment spécifier la position d'affichage de la fenêtre et la taille de matplotlib
Je souhaite afficher une image sur Jupyter Notebook à l'aide d'OpenCV (mac)
Comment installer OpenCV sur Jetson Nano Python
Comment rendre plusieurs noyaux sélectionnables sur Jupyter
Je souhaite afficher plusieurs images avec matplotlib.
Comment résoudre le problème que seul le processus reste lorsque vous appuyez sur X sur l'écran imshow d'OpenCV
[Python] Comment installer OpenCV sur Anaconda [Windows]
J'ai essayé de résumer comment utiliser matplotlib de python
Comment afficher la barre de progression sur Jupyter Notebook pour voir la progression
Comment utiliser Matplotlib
Comment afficher une ligne spécifiée d'un fichier ou d'un résultat de commande sous Linux (sed, awk)
Créer une fonction pour afficher des images comme Jupyter / RStudio [Docker]
Facilitez la compréhension de l'affichage des exceptions du module Python
[Ev3dev] Comment afficher une image bmp sur un écran LCD avec python
Comment afficher une liste des versions installables avec pyenv
Comment augmenter le nombre d'images de jeux de données d'apprentissage automatique
Comment enregistrer un package dans PyPI (à partir de septembre 2017)
Comment voir le contenu du fichier ipynb du notebook Jupyter
Impossible d'afficher le tensorboard dans le notebook Jupyter sur Docker (résolu)
Lors de la génération d'un grand nombre de graphiques avec matplotlib, je ne souhaite pas afficher le graphique à l'écran (environnement jupyter)
Comment unifier la largeur du bac lors de l'affichage de plusieurs histogrammes les uns sur les autres (matplotlib)
Pour ceux d'entre vous qui ne savent pas comment définir un mot de passe avec Jupyter sur Docker
Affichage japonais de matplotlib, seaborn
Comment changer la disposition de Jupyter
Comment s'inscrire auprès de pypi
Étiqueter des images sur Jupyter Lab
Remarques sur imshow () d'OpenCV
Comment utiliser Jupyter Notebook
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
Jour 65 J'ai installé matplotlib pour dessiner des graphiques sur mon notebook Jupyter.
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Affichez l'image de la caméra connectée à l'ordinateur personnel sur l'interface graphique.
Résolvez les caractères japonais brouillés dans matplotlib de Jupyter Notebook sur Docker
Affichage en temps réel de la vidéo acquise à partir de la caméra Web sur le notebook Jupyter (Python3)
Comment exécuter Jupyter et Spark sur Mac avec des paramètres minimaux
Comment afficher la résolution PDF et des informations détaillées sur Linux (pdfinfo)
Comment enregistrer une partie d'une longue vidéo en utilisant OpenCV
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Comment mettre à jour la version Python de Cloud Shell dans GCP
Comment mettre OpenCV dans Raspberry Pi et collecter facilement des images des résultats de détection de visage avec Python