Kép feldolgozása programból

Kép feldolgozása programból
2014-01-26T10:13:58+01:00
2014-02-22T15:53:19+01:00
2022-11-30T14:05:41+01:00
lac21
Sziasztok.

Ilyen programot szeretnék írni:

Online Poker Calculator

De egy kicsit sem vagyok jártas ebben a témában.

Kérdésem, hogy hogyan lehet megvalósítani, hogy valós időben a program(calculator) megjelenítse a képet és dolgozzon is vele?

Olvastam az OCR-ről, de nem vagyok biztos benne, hogy nekem erre van szükségem.
Ezek a programok közvetlen kapcsolódnak az éppen aktuális asztalhoz és követik a helyzetét.

Nem szeretnék kész kódot, csak egy kis iránymutatást!!!

Segítségeteket előre is köszönöm.
Mutasd a teljes hozzászólást!

  • Le kell fotózni az aktív ablak képernyőképét. Ha a monitor és a játék felbontása adott, akkor a kártyák képeit ki lehet emelni a kész képből.
    Ezek elemzéséből ki lehet hozni, hogy mi az aktuális leosztás, aztán lehet statisztikázni.
    Egy-két játékoldalra nem nehéz megcsinálni, de 300-ra azért már időigényesebb, mert gondolom ahány oldal, annyiféle grafika, és méretezés.
    Mutasd a teljes hozzászólást!
  • Ez így oké, de hogyan elemzed ki? Lefotózod az asztalt, van rajta kettő kép ami a lapot teszi ki. Honnan tudom, hogy melyik képnek mi az értéke? Nincs mivel összehasonlítani, ha esetleg arra gondolna valaki.
    Esetleg azt tudom elképzelni, hogy lefotózom az összes lapot, kivágom-elmentem és így tudok nekik értéket adni. A programom szintén lefotózza majd összehasonlítja az általam elmentett képekkel és ez alapján dolgozik tovább, DEezek a programok előbb megjelenítik a lapot mint maga a kliens. Szóval 100%, hogy nem ilyen elven működik.

    Teszem azt csak egy teremhez kellene, tudsz segíteni?

    Üdv.
    Mutasd a teljes hozzászólást!
  • Üdv!



    Ha egyszerűen akarod megoldani (olyan megkötésekkel, hogy adott képernyőfelbontás mellett csak az adott pókerteremben, a kliens adott skinjével működjön), akkor:

    -lefotózod a képernyőt
    -Kielemzed a képernyőt:
    Ez alatt azt értem, hogy mivel mindig adott helyen fog pl a kártyalap érkéke kirajzolni, statikusan, kézzel be tudod állítani, hogy a fénykép melyik részét használja.

    Ha ez megvan, 2 lehetőséged van:
    1. OCR
    2. Tanítod a programot. (pl egy kör kettes, körbevágod, stb, majd megmondod a programnak, hogy egy bizony egy kör kettes, majd a tanítás végén kapott adatokat elmented és később ezzel veted össze a beazonosítandó lapokat)
    Mutasd a teljes hozzászólást!
  • Tesseract OCR érdemes használnod.
    tesseract-ocr - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Goog
    Könnyen ki tudod win alatt az asztal image képét venni.
    Mutasd a teljes hozzászólást!
  • Hogy érted, hogy az általad linkelt program hamarabb megmutatja a kártya értékét, mint az oldalhoz adott kliens?
    Te statisztikát akarsz készíteni, vagy látni szeretnéd a lapok értékét akkor is ha azok hátukkal felfelé vannak letéve?
    Ha csak sebességben gyorsabb mint a kliens program, akkor nyilván nem a képeket dolgozza fel, tehát a kliens programtól lekérdezi, hogy milyen komponenseket használ, és azokból az adatokból dolgozik.
    Mutasd a teljes hozzászólást!
  • r111-nek
    Nem azt szeretném, hogy a lefordított lapokat megmutassa!
    Ez egy teljesen legális calculator program. A legnagyobb termek is engedélyezik a használatát. Sőt van terem aki saját maga ad ilyen calculatort. Nah, de nem ez a lényeg.

    Gyakorlatilag ugyan azt szeretném elérni, amit ez a calculator csinál, csak egy kicsit kiegészítve. Odds-ot számol, statokat állít fel, stb. És, hogy saját legyen.
    Igen sebességben gyorsabb. Szóval hamarabb megjeleníti, hogy pl:nekem egy pikk 8-am van, mint a kliens. Szóval ezért is tuti, hogy nem képek összehasonlításával oldja meg. Közben eszembe jutott, hogy akár ebből programból (Holdem Indicator) is ki lehetnie nyerni az infot. Van hozzá licensem. Annyit szeretnék, ha kapok egy lapot ami megjelenik a kliensben, akkor a programom tudja, hogy ez milyen lap. Ötlet esetleg?

    ptiszai-nak
    Köszi, megnézem.

    DeaRnaycleS-nek
    Ez a lefotózom kivágom összehasonlítom dolog nekem is megfordult a fejemben, mint le is írtam, de ezek a programok valahogy másképp csinálják.
    Inkább abba a másképp irányba haladnék. Már csak a sebesség miatt is. Több asztalnál (8-10+) szerintem kicsit lassú lenne képeket hasonlítgatni. 

    Üdv.
    Mutasd a teljes hozzászólást!
  • 5-10 kép összehasonlítás asztalonként, nem nagy feladat egy mai pc-nek.
    Főleg, hogy nem is kell az egész képet, csak 1-2 pixelét, ami eltér az egyes lapoknál.
    Három irányban lehet még elindulni.
    - A szerver-kliens kommunikációba csatlakozol be és az adatforgalomból megtudod a részleteket.
    - A kliensprogram komponenseit (képek, gombok) olvasod végig azok tartalmával.
    - A kliensprogram esetleg letölti fájlba az aktuális képeket. Megkeresed a gépeden és azokat elemzed.
    Mutasd a teljes hozzászólást!
  • Windows Form header szövege alapján megvan a windows form.(Win. API-ban van erre fg.)
    Tudod a Formon belül a poker asztal bal felső sarkát.
    Kivágod az image-et, nem mented sehová, egy másik szálban feldolgozod a képet.
    bWin pokerre készítettem bot-ot.
    250 ms időközönként tudtam kivágni és feldolgozni C++-ban.
    Párhuzamosan ..
    Minden game kör eredményét a history fájlból beolvastam, mindig mentik a pokerek.
    Sajnos a komoly online pokereknél x időközönként a számokat, betűket változtatják, "homályosítják",  az automatikus bot-ok miatt.
    PokerStarts a legkeményebb, ott még az automatikus egér mozgást is nézik, ha úgy látják bot, akkor a usert tiltják.
    Mutasd a teljes hozzászólást!
  • Sziasztok

    Próbálkoztam a program összehozásával. Sokat olvastam e témakörben.
    OCR-t még mindig szeretném elkerülni! Nem csak a lapok feldolgozásával szeretnék foglalkozni, hanem pl a stack méretével is. És erre már nem lesz jó az OCR. De a chat ablakban benne van minden ami nekem kell.

    Így arra gondoltam, hogy a chat ablakból ki másolom a szöveget, és az alapján dolgozom fel az infót.

    DE, elakadok a másolással. Az egyik terem QWidgettel dolgozik. A chat ablaka QTools.
    A chat ablakban van másolási lehetőség, de nekem nem jött össze. Ki lehet jelölni a szöveget billentyűzettel és egérrel is.

    Próbáltam WM_COPY, WM_ PASTE-val.

    Próbáltam hogy CTRL+C-t küldök a chat ablakba majd beillesztem notepad-ba.

    Próbáltam a WM_KEYDOWN+VK_SHIFT+VK_RIGHT kombót is szöveg kijelölésére, majd CTRL+A.

    És még kismillió másik lehetőséget, de valahogy nem akar összejönni.
    Jó hónapja szenvedek vele. Nem vagyok egy programozó mágus(sőőőőőt), de nem hiszem el, hogy ne lehetne megoldani.

    Van valakinek ötlete, hogyan lehetne kimásolni a szöveget?

    Előre is köszönöm.

    Üdv.

    UI:Vissza olvastam a history fájlos ötletet, nem rossz,de PL az egyik nagy terem nem kapásból menti el a leosztást, hanem az új leosztás kezdetekor menti el az előző leosztás történetét.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd