[PYTHON] Graustufenbild und als CSV speichern

Was du machen willst

Laden Sie eine RGB-Bilddatei und speichern Sie sie im Graustufen- und CSV-Format Es scheint eine gefragte Nische zu sein, daher ist die Farbe meines eigenen Memos stark.

Betriebsumgebung

google colaboratory

Referenzquellenseite

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/ Ich habe es als Referenz verwendet.

Code-Inhalt

from PIL import Image
import os, glob
import numpy as np

#Bitte passen Sie sich hier Ihrer eigenen Umgebung an
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="")

Fügen Sie anschließend den Vorgang zum Hinzufügen von Bildern zu img_list hinzu. Die dritten 3 in (33, 13, 3) repräsentierten RGB. Ich habe es endlich verstanden.

Code korrigieren

Ich möchte es zu den train.csv-Daten des Bildes machen, also ändere ich die Stelle, an der es hinzugefügt wird, indem ich es an den Listentyp anhänge. Dieser Code hat auch einen starken Charakter für mein eigenes Memo, daher lasse ich auch einen Kommentar zur Bestätigung aus.

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:   #Ich möchte es nur testen, damit ich kaputt gehe
      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

Graustufenbild und als CSV speichern
Beschneiden Sie Numpy.ndarray und speichern Sie es als Bild
8-Bit-Graustufen-Downscaling auf Bilder und Bildkontrast
Lesen Sie JSON mit Python und geben Sie CSV aus
Sortieren Sie Fashion-MNIST-Daten und speichern Sie sie als PNG-Datei
Graustufen- und Helligkeitsglättung
[Python] [Windows] Speichern Sie einen Screenshot als Bild
Speichern Sie das Eingangsvideo von der Aufnahmekarte als Bild
Das Graustufenbild wird in OpenCV / Python als Farbbild angezeigt
Visualisieren Sie den Hohlraumfluss mit matplotlib und speichern Sie ihn als GIF-Animation
CSV-Datei lesen und schreiben
Lesen und Schreiben von CSV-Dateien
100 Klopfen bei der Bildverarbeitung !! (001 - 010) Vorsichtig und vorsichtig
Bildausdehnung und Kontraktionsverarbeitung
CSV-Daten extrahieren und berechnen
Extrahieren Sie das Bigquery-Dataset und die Tabellenliste mit Python und geben Sie es in CSV aus