Использование панд для сохранения дескрипторов в CSV - PullRequest
0 голосов
/ 08 апреля 2019

У меня проблема с моим кодом.Я хочу сохранить дескрипторы 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.

1 Ответ

0 голосов
/ 08 апреля 2019

Предполагая, что ваши значения hog являются списками с плавающей точкой, вы можете просто составить список списков внутри конструктора dataframe, поместив ваши значения h внутри [] * s

df = pd.DataFrame([h1,h2]).to_csv('foo.csv', index=False, header=None, sep=",", line_terminator="\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...