【发布时间】:2021-10-25 12:52:53
【问题描述】:
我正在尝试将文件夹中的图像保存为 csv 文件的行。在此 csv 中,每一行将对应于每个图像的像素值。为此,每个图像矩阵(例如 (720, 1280, 3))都被展平并重新整形为行 (1, 2764800)。此外,我将图像尺寸 (720, 1280) 添加为该行的前 2 个元素。这是因为处理了不同尺寸的图像。
我成功保存了一张图片的 csv 文件,但我想自动保存多张图片的过程。
这是我仅用于 1 张图片的代码
import pandas as pd
from PIL import Image
import numpy as np
import matplotlib.image as img
imageMat = img.imread('images/image1.jpg')
image_reshape = imageMat.flatten().reshape(-1, 1).T
image_csv = []
image_csv.append([imageMat.shape[0],imageMat.shape[1]])
image_csv = np.array(image_csv)
image_csv = np.append(image_csv, image_reshape, axis=1)
mat_df = pd.DataFrame(image_csv)
mat_df.to_csv('gfgfile.csv', header = None, index = None)
【问题讨论】:
-
CSV 似乎是一个非常糟糕的选择。也许将实际图像的文件名放在 CSV 中,然后从该位置单独加载到内存中?
-
你是对的@tripleee。感谢您的评论
标签: python pandas image numpy csv