我有一个列表,是我在追加文件夹中的图像后创建的
samples=[]
for filename in glob.glob(path + '/*.png'):
samples.append(misc.imread(filename))
列表的样本看起来像
[array([[ 4, 4, 4, ..., 5, 5, 4],
[ 5, 5, 5, ..., 6, 6, 5],
[ 5, 5, 5, ..., 6, 6, 4],
...,
[12, 12, 11, ..., 12, 12, 7],
[12, 11, 11, ..., 13, 12, 7],
[11, 11, 10, ..., 12, 12, 7]], dtype=uint8), array([[ 4, 4, 4, ..., 7, 7, 6],
[ 5, 5, 5, ..., 6, 6, 4],
[ 5, 5, 5, ..., 7, 7, 5]], dtype=uint8)]
如何在Pandas DataFrame中转换图片的尺寸。当我尝试用
做的时候df=pd.DataFrame(samples)
它给了我一个错误
ValueError: Must pass 2-d input
请建议 - 我将非常感谢您的帮助
答案 0 :(得分:0)
尝试将其转换为pandas panel
import cv2
img = cv2.imread('path/Picture_1.png')
imgPanel = pd.Panel(img)
有关详细信息,请参阅:Panel- Introduction,n-dimensional Panel (Experimental),Cookbook- Panel,Panel-nd cookbook
答案 1 :(得分:0)
尝试在附加图像时添加.reshape(-1)。
for filename in glob.glob(path + '/*.png'):
samples.append(misc.imread(filename).reshape(-1))
df = pd.DataFrame.from_records(samples)
如果你想要3d版,请阅读 Reshaping a numpy array in python