Pythonban hogyan tudok JPG képeket vektorrá konvertálni, dataframe-be helyezni őket, majd egyenként visszahívni őket képpé?
Az egyszerűség kedvéért vegyünk egy 32 lapos magyarkártya paklit, amelynek minden lapjáról azonos méretű JPG-képek vannak. Ezeket szeretném átalakítani vektorrá, és így tárolni őket egy dataframe-ben, ahonnan meghívható bármelyik vektor a lap neve szerint (pl. Makk IX-es), és alakítható így vektorból ismét képpé. Az ember azt gondolná, hogy a képek 'asarray'-vel könnyen hozzáadhatok egy DF-hez, majd onnan 'fromarray'-vel meghívhatók, de nekem minden alkalommal hibaüzenetet ír ki a Python.
Üzenetben el tudom küldeni a kódot, amivel próbálkoztam.
Előre is köszönöm a segítséget!
2-es:
Kezdő vagyok még programozásban, igazából úgy szeretnék képeket tárolni, hogy egy kisméretű fájl foglalja őket magukba, és könnyen meghívhatók legyenek onnan az egyes képek. Én ehhez azt találtam ki magamnak jó megoldásnak, hogy egy dataframe egyes oszlopait feltöltöm vektorizált képekkel, és ezeket hívhatom meg.
A második megoldást, amit felvetettél, nem ismerem még, de ha az praktikusabb a célra, az is érdekes számomra.
4-es:
Világos, ebben az esetben milyen eljárást javasolsz objektumorientált irányként?
Tehát. Képfájlokat nem alagítgatunk sehova, hanem tároljuk őket vagy a fájlrendszerben vagy adatbázisban. (Olyannyira, hogy még ha dinamikusan is akarsz képeket generálni, azt is cache-elni azaz gyorsítótárazni szokták, hogy ne kelljen újra és újra ezzel terhelni a szervert.)
Tehát leteszed a képeidet egy folderbe, és valamilyen szisztematikus, logikus nevet adsz nekik.
Ezt követően a feladat csak annyi, hogy tárold valamilyen formában a képek meta adatait (tehát hogy melyik kép a zöld király stb.).
Erre számtalan megoldás létezhet, de ha idiomatikus, szép Pythont akarsz tanulni, akkor Luciano Ramalho: Fluent Python c. könyve éppen egy ilyen kártyapaklis példával kezdődik, olyan mélységben, amilyet úgysem tudnál egyelőre magadtól összerakni ilyen szépen, szóval a legegyszerűbb, ha letöltöd a könyvet valahonnan, és tanulmányozod, hogy ő hogy csinálja.
De ha dataframe-ben akarod tárolni a metaadatokat, úgy is lehet. Az egyik oszlopban tartod a kártya számát, a másikban a színét, a harmadikban meg a képfájl sorszámát. Így már nincs más dolgod, csak kikeresni szám és szín alapján a neki megfelelő fájlnevet, és azt a fájlt visszaadni.
Vagy az egészet SQL-be teszed. Ha valamilyen ORM-et használsz (Django ORM vagy SQLAlchemy), akkor írsz a kártyához egy megfelelő classt, és abból kérdezgeted le a neki megfelelő képfájlt.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!