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
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")
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.
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). ** **
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")
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.
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.
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.
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.
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