1. Question: Entrez directement l'image convertie en niveaux de gris dans le réseau neuronal et trouvez
FileNotFoundError: [Errno 2] Aucun fichier ou répertoire de ce type: 'home / JPEGImages / Image_24.jpg'
Deuxièmement, l'analyse: l'image en niveaux de gris n'a qu'un seul canal, tandis que RVB a trois canaux
3. Solution: copiez deux fois l'image en niveaux de gris d'un canal pour obtenir l'image requise par les trois canaux
import cv2
import os
from PIL import Image
import numpy as np
file_dir = 'home / JPEGImages2 /' # 'input folder /'
out_dir = 'home / JPEGImages /' # 'output folder /'
a = os.listdir (file_dir)
# img = Image.open ("home / img / Image_01.jpg") #Méthode d'ouverture d'une seule image
pour i dans un:
print (i)
I = Image.open (file_dir + i)
L = I.convert ('L' )
a = np.array (L) # converti en tableau numpy
image = np.expand_dims (a, axis = 2)
image = np.concatenate ((image, image, image), axis = -1) # axis = -1 Est le dernier canal
# image.save (out_dir + i) #Save picture (save image as image)
cv2.imwrite (out_dir + i, image) # Save picture (save array as image)
# print (image)
Lien de référence:
https://blog.csdn.net/zgcr654321/article/details/88015327 (Plusieurs façons de sauvegarder le tableau en tant qu'image, il a également une référence à stackoverflow)
https://stackoom.com/question/3WAWn/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%B8%A6%E6%9C%89%E7 % 81% B0% E5% BA% A6% E5% 9B% BE% E5% 83% 8F% E7% 9A% 84% E9% A2% 84% E5% 85% 88% E8% AE% AD% E7% BB % 83% E7% 9A% 84% E7% A5% 9E% E7% BB% 8F% E7% BD% 91% E7% BB% 9C (Après l'avoir lu, je n'ai pas choisi de changer le réseau d'origine, mais j'ai choisi la méthode actuelle)