Sziasztok!
Eljátszottam a gondolattal, hogy írok egy appot amivel lefotózom a villanyórát és szövegként megkapom az állást. Igen, a befektetett energia nincs arányban azzal, hogy kéthavonta egyszer használni fogom, ez hobbiprojekt, ha lesz egyáltalán.
Gyors keresgélés után tesseract.js-t ráengedtem egy közepesen szar fényképre. Az eredmény: az órán lévő mindenféle szirszart is beolvasott, a számokat meg részben tévesen. Egy fokkal jobb eredmény született, ha kivágtam a számsort és csak azt olvastattam be, bár így is volt tévesztés de első körben azért ez lényegesen javít az eredményen. Azt a feladatot szeretném tehát megoldani, hogy egy fényképről kivágjam a számláló számait.
Grafikában nem nagyon vagyok otthon. Merrefelé induljak?
- 1337 megtekintés
Hozzászólások
Értem, hogy mindenkinek van valami hobbija, de ezt a funkciót manapság már bármely telefon kameraappja tudja.
I don't run often, but when I do, I run as administrator.
- A hozzászóláshoz be kell jelentkezni
Kérlek akkor írd le, hogy iOS alatt hogy kapom meg az eredményt számként egy appból, hogy tovább tudjak dolgozni vele?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
sztornó, félreértettem
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
iPhone 12 mini-n nincs ilyen beállítási lehetőség iOS 15.6.1-en a kamera appban. Vagy én vagyok vaksi :)
- A hozzászóláshoz be kell jelentkezni
Kellene lennie és nem csak a galériába mentett képen ismeri fel a szöveget hanem magán a kamera “live” képén is. Más kérdés hogy egy villanyórán nem biztos hogy fel fogja ismerni, de egy próbát megér, mégha nem is a projekted miatt, de tök hasznos funkció.
- A hozzászóláshoz be kell jelentkezni
nekem se sikerult 13minin (legutiolkso ios15) elocsalni ezt, ha sima szoveget (feher alapon nagy fekete betukkel) fotozok akkor se
hmm:
- Open the Settings app.
- Tap General.
- Tap Language & Region, then turn on Live Text.
ez ki volt kapcsolva, bekapcsoltam es muxik. de csak kb 5 nyelvet ismer, magyart nem :(
- A hozzászóláshoz be kell jelentkezni
Hát nem tudom, szerintem nem nyelv függő. Simán felismer magyar ékezetes szöveget. De a Live text beállítás tényleg kell, azt feljebb én nem említettem.
- A hozzászóláshoz be kell jelentkezni
hmm kiprobaltam, e stenyleg, majdnem. a hosszu dupla ekezetet nem szereti, az ő->ó ű->ú lesz :(
gondolom csak a latin-1 abc ismeri
- A hozzászóláshoz be kell jelentkezni
Tényleg.
ÁRVÍZTŰRŐ -> ÁRVÍZTÚRÓ :)
De összességében jól használható, számlákról szoktam pl számlaszámot, közleményt leolvasni így, ilyesmi. Ez a dupla ékezet eddig nem tűnt fel.
- A hozzászóláshoz be kell jelentkezni
Sz@randroidon a Google Lens simán veszi ezt az akadályt :-P
- A hozzászóláshoz be kell jelentkezni
És hányszor használtad már és mire? itt megint az van, hogy lehet, hogy abszolút mércével pl pontosabb, vagy "többet tud" a lens (elérhető iOS-re is amúgy), az ördög -meg a használhatóság- viszont a részletekben van: iOS-en a live text funkció (nem egy külön app!) a rendszer része, mindenhol lehet szöveget beolvasni, ahol normál szövegbevitel van (nem kell az appnak külön támogatni sem, a billentyűzet helyén megjelenik a kamera képe).
- A hozzászóláshoz be kell jelentkezni
Nagyon sokszor például szöveg fordítására, bevitelre (kopipaszta), QR-kód beolvasásra, etc, etc etc...
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
pörfikt! Köszi!
- A hozzászóláshoz be kell jelentkezni
Pár éve gondolkodtam 1 ilyenen, ESP+cam+Lipo az óraszekránybe, Lehet újrakezdem
- A hozzászóláshoz be kell jelentkezni
nemreg volt szo itt az egyik okosmeros topicban hogy valaki irt ESP-re tensorflow light-al ilyen ami vizorat es gazmerot is felismert AI-vel.
- A hozzászóláshoz be kell jelentkezni
Köszi, megkeresem!
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ez kb. az ágyúval verébre kategória :)
- A hozzászóláshoz be kell jelentkezni
nem feltetlen. ma mar a convolution neural network a legegyszerubb es leghatekonyabb barmilyen kepfelismeresi problemara. egyszeru tanitani, hasznalata meg, foleg ha van valami gpu/mpu a gepben akkor baromi gyors.
nem veletlen van a tensorflow lite, pont az ilyen embedded eszkozokben, meg telefonokban valo hasznalatra fejlesztettek.
ezzel szemben a klasszikus OCR, ami pixel soronkent oda-vissza atlagolgat, aztan osszehasonlitgat elore definalt fontkeszletekkel, az gpu-val nem gyorsithato, a cpu meg a kis eszkozokben lassu hozza. raadasul sokkal erzekenyebb a feny, kontraszt, zaj stb kephibakra, mint egy tobbretegu CNN.
- A hozzászóláshoz be kell jelentkezni
Ipari célra gyakorlatilag nem nagyon használunk AI-t. Erre a célra nagyon jól megfelel egy sima mintaillesztés. Ez azért nem az a kategória, hogy a macskát kell megkülönböztetni a kutyától. Jó esetben több éves távlatokban változik a karakterkészlet is. Meglévő megoldások (keyence, cognex, stb.) - kis túlzással - két kattintással megoldják mindenféle mesterséges intelligencia nélkül. :)
- A hozzászóláshoz be kell jelentkezni
Na, ha a házibarkács Tensorflow ágyúval verébre kategória volt, akkor egy ilyen rendszert beüzemelni otthonra a villanyórához nem is tudom micsoda. :)
- A hozzászóláshoz be kell jelentkezni
Gondolom van olyan free lib, akármi, amiben az alapvető képfeldolgozási rutinok megtalálhatóak. Gondolok mintaillesztésre, pozíciókövetésre, és hasonlóak. Nem pont ezekre gondoltam othoni alkalmazásra, Bár cognex kamerát, amit egy sima pc-hez tudsz csatlakoztatni, ebay-en használtan láttam már egy jobb webkamera áráért is. InSight meg szabadon letölthető hozzá.
- A hozzászóláshoz be kell jelentkezni
A fent linkelt posztomban az Esp32Cam 5$.
Annál is és a használt ipari kameránál is a világítás a kritikus pont. Csak az ipari kamerához valószínűleg kell még egy PC is, ahol a szoftver fut. Nem néztem, de érzésre egy RPI nem lesz elég (*fixme*)
Feljebb linkelve lett egy gyönyörűen kidolgozott cikk openCV felhasználásával (egyébként ott is ML segítségét veszik igénybe). Az elmegy az RPI-n és akkor az Esp32Cam csak mint buta kamera van használva
- A hozzászóláshoz be kell jelentkezni
Mintha a Terminátort visszaküldenéd az időben, hogy szavazzon most tavasszal a... bármelyik jelöltre :D
Színes vászon, színes vászon, fúj!
Kérem a Fiátot..
- A hozzászóláshoz be kell jelentkezni
Kamera. Ráböksz a fókuszálandó szövegre, jobb szélén ekkor megjelenik egy ikon, illetve bekeretezi a szöveget. Select/select all, Copy, aztán paste amibe csak akarod.
I don't run often, but when I do, I run as administrator.
- A hozzászóláshoz be kell jelentkezni
Nekem egy sárga négyzet jelenik meg egy napocskával ha rábökök, talán be kell kapcsolni valamit hozzá. De egyébként is programból érdekes a dolog, ennyi erővel be is gépelhetem :)
- A hozzászóláshoz be kell jelentkezni
Ha lesz konkrét tapasztalat is és megosztod, azt megköszönjük!
Az általános szövegfelismerők működnek, de a megbízhatóságuk messze nem 100%. Ha ezt a problémát a lehető legmegbízhatóbb módon kellene megcsinálnom, akkor így csinálnám:
Nekem a felismerésben a régebbi tapasztalataim alapján az az érzésem hogy ez kezelhető bonyolultságú probléma lesz. Ha az irány, betekintési szög, méret és megvilágítás változhat, az a legnehezebb probléma általánosságban. Itt megoldható, hogy ez mind állandó legyen (pl fényre: fényzáró szekrényt és pl exponálásra bekapcsolt LED megvilágítást, és fix exponálási paramétereket feltételezve), emiatt kezelhető maradhat a probléma.
Ami még fejfájást okozhat az az, hogy a számjegyek elfordulva is lehetnek, ami mindenféle köztes állapotokat is lehetővé tesz.
Én így próbálnám megcsinálni:
* Felvenném a legalsó számjegyek egy teljes körét. A képekhez rendelném, hogy éppen milyen számot látunk.
* Előfeldolgoznám a képet, pl leskáláznám és 1 bites fekete-fehérre alakítanám - az élkeresés nem a legjobb megoldás, mert a zajt fel tudja nagyítani.
* Hasonlósági függvényt definiálnék. Pl egyező pixelek szám a monokrómra alakított képen. A körbeforgó számjegyet mondjuk pixelenkénti lépésekben lehet referenciának használni, de nem kell túl sok pixelt használni.
* A hasonlóság mértéke alapján hozzárendelném a látott képet a példához. (Legjobb egyezés szerint, vagy egy egyezési küszöböt előírva.)
* Az eredményre tennék egy hihetőség vizsgálatot -> nyilván a számok szép komótosan növekedni tudnak csak. Ha ugrást tapasztalunk, akkor valami nem jó: riasztással, illetve az érték eldobásával jutalmazzuk ezt.
* Ha CPU csökkentés kell (ugye drága az áram...), akkor az előző képhez hasonlítanám a jelenlegit és ha nincsen változás, akkor kihagynám a munkát. Az összehasonlítást pedig csak a sorban következő állapotokra futtatnám sorban és ha egyezést találnék, akkor leállnék. Tehát lényegében csak az utolsó számjegyre működne az összehasonlító algoritmus, a többire csak akkor amikor átfordul a számjegy.
* Plusz önellenőrzés lehet, hogy egy függőleges elmozdulást is mérünk számjegyenként, valamiféle önkorrelációt nézve az előző képkockával. Erre is vannak példák OpenCV-n belül. Ez is lehet a CPU csökkentés alapja, illetve egy keresztbe ellenőrzés ami növeli a megbízhatóságot.
Ez így nem túl bonyolult és szerintem eléggé megbízhatóan tudna működni a régi tapasztalataim alapján.
- A hozzászóláshoz be kell jelentkezni
Minden nagyobb cloud providernek van OCR szolgáltatása, meghívod az API-t, és megkapod a képen lévő stringeket és pozíciókat. Mégcsak nem is drága, például Azure-ben havi 5000 felismerés ingyenes, szóval hobbicélra / tesztelni bőven elég, és nekem sokkal jobb eredményt adott mint egy "alap" tesseract.
- A hozzászóláshoz be kell jelentkezni
Igen ezt tudom, de felhő nélküli megoldást szeretnék.
- A hozzászóláshoz be kell jelentkezni
Információ ellenőrzéshez hasznos lehet matematikai eljárás, mellyel az ellenőrizhető, hogy a várható intervallumban van-e az érték. Ez segíthet a durva eltérést detektálni. Ehhez 2 dolgot kellene tárolni:
1) leolvasás ideje (epoch formátum tökéletes, sima integer)
2) leolvasott érték (szintén integer)
Majd a leolvasások közti időszakoknak átlag fogyást számolni. Ezt úgy, hogy a 2 egymás mellett lévő leolvasott érték különbségét osztod az ezekhez tartozó 2 timestamp különbségével. Mindig a nagyobból vond ki a kisebbet. Ez azt fogja mutatni, hogy mennyi fogyás volt mekkora időszak alatt.
A leolvasásnak nem kell bizonyos időnként megtörténnie, hanem bármilyen véletlen alkalom szerint is megfelelő.
Majd a kapott értékeknek (az utolsót kivéve) veszed az átlagát (m) és szórását (s). És megnézed, hogy az utolsó érték az alábbi intervallumon belül esik-e:
m - s * 3 < ? < m + s * 3
Ha nem, akkor hiba jelzést adsz magadnak.
Mivel 3 szigma megbízhatóságot írtam, ezért az első N db leolvasásig nem fog semmiképpen hibajelzést adni. Ez úgyis felfogható, mint egy tanulási időszak. Ezért jó hibatűréssel rendelkezik a fenti számítás, mely csak egy idő után fog jelezni hibát. És ez így pont jó, mert kell valamennyi adat a pontos számításhoz. Ehhez nyilván jónak kell lennie az első pár leolvasásnak, de azt úgyis ellenőrizned kell, hogy lásd, jól működik-e a megoldás.
Ez egy kis erőforrás igényű, egyszerű és gyors számítás.
- A hozzászóláshoz be kell jelentkezni
Ha ugyanazt az órát fényképezed hasonló körülmények között, lehet hogy egyszerű pattern match (vagy template matchnek hívják?) is megtalálja a szöveg helyét, valami spcifikus pontokhoz viszonyítva a képen.
“Any book worth banning is a book worth reading.”
- A hozzászóláshoz be kell jelentkezni
Vagy papírral "lemaszkolod" az óra többi részét.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
igen, néha nem megoldani kell a problémát, hanem megkerülni :)
- A hozzászóláshoz be kell jelentkezni
nem szükséges. Gondolom van valamiféle pozíció követés bármely képfeldolgozó lib-ben is. Valami jellegzetes alakzat az órán, amit könnyű megtalálni, majd ahhoz egy szűk keresési tartomány a számlapnak.
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
Ha esetleg Python is játszik:
import sys
import cv2
import pytesseract as pt
''' Do OCR on the file and print the text to stdout. '''
def do_work(filname):
img = cv2.imread(filname)
text = pt.image_to_string(img)
print text
- A hozzászóláshoz be kell jelentkezni
nice
- A hozzászóláshoz be kell jelentkezni
Eddig még nem volt ilyenre szükségem, de ezt kipróbáltam és nagyon király.
- A hozzászóláshoz be kell jelentkezni
"Tesseract 4 adds a new neural net (LSTM) based OCR engine which is focused on line recognition, but also still supports the legacy Tesseract OCR engine of Tesseract 3 which works by recognizing character patterns. "
- A hozzászóláshoz be kell jelentkezni
Szia!
Esetleg ebből kiindulva: https://github.com/jomjol/water-meter-measurement-system ? Ismered? https://3dmixers.com/m/241745-gas-meter-ai-on-the-edge
Nálam gázórára - nyomtatott esp32cam tartóval egész stabil, pontos.
annyi, hogy egy RPi3 ftp-re tolja a képeket és ott van opencv+tesseract és hihetőségvizsg. -> majd influxd-be és grafana.
Roland
- A hozzászóláshoz be kell jelentkezni
ez a nyomatott tarto "leolvaso proof"? nem fog hapogni ra egy leolvaso ember amikor arra jar? vagy akkor leszereled?
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Nem szólt még, mivel jól meghatározott napon - évente egyszer - jön, addig a pár órára levettem.
Nem bonyolult a leszedése, csak kvázi lepattintom.
- A hozzászóláshoz be kell jelentkezni
Alapötlet innen: https://circuits-ninja.pl/reading-an-indication-from-an-analog-pressure…
Átfaragva GÁZórára. OCR
- A hozzászóláshoz be kell jelentkezni
Egy profi hitelesített egy fázisú fogyasztásmérő 20-30.000 Forint, és ott rengeteg más adat is rendelkezésedre áll, pl. frekvencia, meddő teljesítmény, feszültség, stb. Vagy ott van a Shelly EM, annak kicsit talán egyszerűbb a telelpítése.
- A hozzászóláshoz be kell jelentkezni