IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Ľubo Pifko Rusnák:21.11.2018 23:05

Zdravím, mám kód ktorý načíta fotku osoby a vypíše parametre ako napr. vek ,emócie atd. To funguje ale ja potrebujem to dať do cyklu tak aby vypísalo všetky parametre fotiek tak ako idú za sebou z priečinka. S tým je problém. Skompiluje ale nevýpiše vôbec žiaden parameter.

Zkusil jsem: .Pokúšam sa to robit cez funkciu listdir ale nejak mi to nefunguje. Skompiluje ale nevýpiše vôbec žiaden parameter.

import requests
import os



BASE_URL = 'https://westeurope.api.cognitive.microsoft.com/face/v1.0/detect'
headers = {
    'Ocp-Apim-Subscription-Key': 'd7264e9252674c9292b0d8b295cf3251',
    'Content-Type': 'application/octet-stream'
}
parameters = {
    'returnFaceId': 'true',
    'returnFaceLandmarks': 'false',
    'returnFaceAttributes': 'age,gender,emotion'
}


img_path = 'C:\\Users\\Pifko\\Desktop\\bakalarka\\ffmpeg-20181107-0c6d4e7-win64-static\\ffmpeg-20181107-0c6d4e7-win64-static\\bin\\all'
files = os.listdir(img_path)

for file in files:
    file = os.path.join(img_path,file)
img_data = open(file, 'rb').read()

def post_image(img_data):
    response = requests.post(BASE_URL, params=parameters,
                             headers=headers, data=img_data)
    try:
        return response.json()
    except:
        return None
print(post_image(img_data))


#delay 3 sekundy,
#nevypise ale ulozi obrazok, dat do csv suboru,

Chci docílit: Zdravím, mám kód ktorý načíta fotku osoby a vypíše parametre ako napr. vek ,emócie atd. Potrebujem to dať do cyklu tak aby vypísalo všetky parametre fotiek tak ako idú za sebou z priečinka. Dalej potrebujem aby mi obrazky nevypísalo parametre ale aby ich uložilo najlepšie do csv formátu.

 
Odpovědět
21.11.2018 23:05
Avatar
MQ .
Tvůrce
Avatar
MQ .:22.11.2018 21:41

Ahoj, pokud jsem tě dobře pochopil chceš informace o každém obrázku ze složky uložit do CSV souboru. Použil jsem knihovnu Pandas a vytvořil DataFrame, do kterého ukládám hodnoty a následně ho uložím jako CSV soubor.

import os
import pandas as pd

df = pd.DataFrame(columns = ["hodnota1", "hodnota2"])

files = os.listdir(img_path)
for soubor in files:
    with open(soubor, "rb") as f:
        img_data = f.read()
        data = post_image(img_data)
        df = df.append(pd.DataFrame([[data.hodnota1, data.hodnota2]], columns = ["hodnota1", "hodnota2"]), ignore_index=True)
df.to_csv(nazev_souboru)
 
Nahoru Odpovědět
22.11.2018 21:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.