import matplotlib.pyplot as plt
import cv2
import os
root = "./data" #Le dossier qui contient les images. Veuillez changer en conséquence
lsdir = os.listdir(root)
imgs = []
for l in lsdir:
target = os.path.join(root,l)
img = cv2.imread(target)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) #Conversion des couleurs pour l'affichage dans pyplot
imgs.append(img)
shownumber = 10 #Nombre d'images à organiser
showaxis = 1
while(showaxis*showaxis < shownumber):
showaxis += 1
cnt = 0
while(1):
#limit = 30
#if cnt >= limit:
# break
fig,axs = plt.subplots(showaxis,showaxis)
ar = axs.ravel()
for i in range(showaxis*showaxis):
ar[i].axis('off')
if i < shownumber:
ar[i].imshow(imgs[cnt])
cnt += 1
plt.show()
shownumber = 9
shownumber = 10
«Chaque fois que j'affiche une image, j'ai l'impression de me poser des questions sur matplotlib
, alors je voulais me fixer une norme.
--Spécifiez un dossier et lisez-le avec cv2.imread
, et créez-en un tableau appelé ʻimgs. --OpenCV est lu au format BGR, donc convertissez-le au format RVB avec
cv2.cvtColor`
while(showaxis*showaxis < shownumber):
showaxis += 1
--Préparez un graphique avec plt.subplots
avec autant de lignes et de colonnes que show axis
―― Comme il est difficile de spécifier la position verticale et la position horizontale de ʻaxs, créez une série de tableaux avec ʻaxs.ravel ()
.
et ʻaxis ('off')
autant que show number
par boucleNotez qu'en raison de la structure du code, une erreur de référence hors plage se produira définitivement à la fin. J'ai écrit le processus d'évasion dans les commentaires.
Recommended Posts