Prevod obrazku do csv suboru v pythone – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Prevod obrazku do csv suboru v pythone – Python – Fórum – Programujte.comPrevod obrazku do csv suboru v pythone – Python – Fórum – Programujte.com

 

Lubo
~ Anonymní uživatel
34 příspěvků
2. 4. 2019   #1
-
0
-

Zdravím.Mám kód ktorý z priečinku obrázkou ľudi vypíše emocie . V console ich vypise napr. angry 0.004 , happy 1.2 atd.Všetky fotky, ktoré mám , treba poslať na analýzu . Výsledky potom treba uložiť do nejakého súboru (najlepšie csv) v ktorom jeden stĺpec bude emócia, ktorá bola rozpoznaná ľuďmi (t.j. názov súboru) a do druhého emócia rozpoznaná Face API. napr. v prípade fotky v priečinku j, joy4 to bude vyzerať nasledovne: j/joy4 joy happiness (keďže systém rozpoznal happiness, viď príloha) súbor bude mať toľko riadkov koľko je fotiek. viď. príloha

Pýtal som sa niekoľko ľudí a nikto my s tým nevedel pomôcť.

Připojen obrázek.

import requests
import os
import time
import pprint
#import csv


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

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



img_path = '' #nastavit cestu ku priecinku s fotkami (napr. a, b, c)

files = os.listdir(img_path)

for file in files:
    file = os.path.join(img_path,file)
    print(file)
    img_data = open(file, 'rb').read()
    print(post_image(img_data))
    # pprint.pformat(post_image(img_data))
    time.sleep(3)



#with open(file, 'w') as csv_file:
     #   writer = csv.writer(csv_file)
      #  writer.writerow(('age', 'emotion'))
        # pprint.pformat(post_image(img_data))
    
    #return os.path.abspath(img_path)
Nahlásit jako SPAM
IP: 78.99.62.–
gna
~ Anonymní uživatel
1849 příspěvků
2. 4. 2019   #2
-
0
-

Tak nejdřív otevřeš writer a pak do něj v tom zpracovávacím cyklu můžeš zapisovat výsledky. Může to vypadat třeba nějak takhle:

with open(file, 'w') as csv_file:
    writer = csv.writer(csv_file)
    writer.writerow(('age', 'emotion'))

    for file in files:
        ...
        response = post_image(img_data))
        writer.writerow((response['age'], response['emotion']))
Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1849 příspěvků
2. 4. 2019   #3
-
0
-

Když to čtu pozorněji, tak to asi není přesně to, co chceš, ale princip je snad jasný.

Nahlásit jako SPAM
IP: 213.211.51.–
Lubo
~ Anonymní uživatel
34 příspěvků
3. 4. 2019   #4
-
0
-

#3 gna
Asi ano, hlavne mam problem s tym ako to zakomponovat do mojho kodu aby to fungovalo. Ono to vlastne prechadza priečinok s obrazkami kde môj kód vypíše emócie z fotiek za sebou a ja potrebujem aby tie parametre ukladalo priamo do v csv súbore v takom tvare ako je vyššie napísané.

Nahlásit jako SPAM
IP: 147.232.24.–
MilanL+1
Grafoman
3. 4. 2019   #5
-
0
-

#4 Lubo
 podle mě je to jen správném provázání těch 2 kódů

GNA Ti to v podstatě vyřešil, otevření CSV a První řádka s nadpisy před cyklus na procházení fotek, a v cyklu fotek pak správně dekódovat ten výsledek v JSON co vrací Post_Image a naformátovat pro řádek v csv

Na začátek řádků s obrázky bych možná přidal jméno souboru

Nahlásit jako SPAM
IP: 91.139.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Převod z csv — založil eda nakladak

Převod jpg do csv — založil Michal

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý