Chargez un fichier image RVB et enregistrez-le en niveaux de gris et au format CSV Cela semble être un créneau en demande, donc la couleur de mon propre mémo est forte.
google colaboratory
https://newtechnologylifestyle.net/%E7%94%BB%E5%83%8F%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8B%E3%82%89numpy%E5%BD%A2%E5%BC%8F%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ Je l'ai utilisé comme référence.
from PIL import Image
import os, glob
import numpy as np
#Veuillez ajuster ici à votre propre environnement
files = glob.glob(path + "/" + class_names[1] + "/" + "*.png ")
img_list = []
image = Image.open(files[0])
# image = image.convert("RGB")
image = image.convert("L")
data = np.asarray(image) # <class 'numpy.ndarray'> (33, 13, 3)
print(data)
print(type(data))
print(data.shape)
from matplotlib import pyplot as plt
plt.imshow(data, cmap="gray")
plt.show()
img_list.append(data) # <class 'list'>
print(type(img_list))
img_list = np.array(img_list) # <class 'numpy.ndarray'> shape(1, 33, 13, 3)
plt.imshow(img_list[0], cmap="gray")
plt.show()
import pandas as pd
df = pd.DataFrame(data)
save_path = drive_root_dir + "/xxxxxxx/data/" + "train.csv"
df.to_csv(save_path, encoding="")
Après cela, ajoutez le processus d'ajout d'images à img_list. Le troisième 3 dans (33, 13, 3) représentait RVB. J'ai finalement compris.
Je veux en faire les données train.csv de l'image, donc je modifie l'endroit où elles sont ajoutées en ajoutant au type de liste. Ce code a également un caractère fort pour mon propre mémo, donc je laisse également un commentaire pour confirmation.
from matplotlib import pyplot as plt
from PIL import Image
import os, glob
import numpy as np
files = glob.glob(path + "/" + class_names[1] + "/" + "*.png ")
img_list = []
for i, file in enumerate(files):
image = Image.open(file)
image = image.convert("L")
data = np.asarray(image) # <class 'numpy.ndarray'> (33, 13, 3)
# print(data)
# print(type(data))
# print(data.shape)
# plt.imshow(data, cmap="gray")
# plt.show()
img_list.append(data) # <class 'list'>
# print(type(img_list))
# img_list = np.array(img_list) # <class 'numpy.ndarray'> shape(1, 33, 13, 3)
plt.imshow(img_list[i], cmap="gray")
plt.show()
if i == 3: #Je veux juste le tester alors je casse
break
import pandas as pd
df = pd.DataFrame(img_list)
save_path = drive_root_dir + "/xxxxx/data/" + "train.csv"
df.to_csv(save_path, encoding="")
print("end")
Recommended Posts