我的代码有问题。我想将HOG描述符保存到csv文件中。
代码:
import cv2
import pandas as pd
def getHogFromImage(im):
hog = cv2.HOGDescriptor()
h = hog.compute(cv2.imread(im))
return h
h1 = getHogFromImage("apple.jpg")
h2 = getHogFromImage("peach.jpg")
apple = pd.DataFrame("1," + h1) #any idea how do it?
peach = pd.DataFrame("0," + h2)
apple.to_csv('foo.csv', index=False, header=None, sep=",", line_terminator="\n")
peach.to_csv('foo.csv', index=False, header=None, sep=",", line_terminator="\n")
我的foo.csv文件
0.15200253
0.16865349
0.0909358
0.13702433
0.15322956
0.14372425
0.18107016
0.12029551
0.065096505
0.20796815
0.28659236
0.15984383
0.12754892
0.15886153
.
.
.
但是我需要以这种格式将描述符保存到文件中
1, 0.15200253, 0.16865349, 0.0909358, 0.13702433 .....
0, 0.16865349, 0.0909358, 0.13702433
因此所有描述符数据都将在一行中,并以“,”分隔。但是,当图像为苹果时,第一个值为“ 1”;当图像为桃子时,第一个值为0。
答案 0 :(得分:0)
假设您的猪值是浮点数列表,则只需将h值放在[]的
中,就可以在数据框构造函数中创建列表列表df = pd.DataFrame([h1,h2]).to_csv('foo.csv', index=False, header=None, sep=",", line_terminator="\n")