LeanImg

Cum pot extrage text dintr-o captură de ecran fără a o încărca?

Ce citește de fapt OCR-ul din browser: similitudinea măsurată pe șase fixture, cei 515 caractere pe care le-a inventat dintr-o fotografie fără text și modelul de descărcare pentru care plătești o dată.

Cele mai multe site-uri OCR iau captura ta de ecran, o postează pe un server și o citesc acolo. Asta este în regulă pentru o fotografie a unui meniu de restaurant. Este o decizie diferită pentru un fluturaș de plată, o pagină de pașaport sau o captură de ecran a unei conversații private. Instrumentul nostru de la imagine la text rulează recunoașterea în tab-ul browser-ului tău, astfel încât fișierul rămâne pe discul tău și textul apare lângă acesta.

Motorul este Tesseract, compilat în WebAssembly și livrat împreună cu pagina. Prima ta rulare descarcă un script de lucru, nucleul WebAssembly și un model de limbă. Browser-ul tău stochează toate cele trei. După aceea, nu mai rămâne nimic de descărcat.

Captura mea de ecran este încărcată?

Nu. Nu există un endpoint de încărcare în acest cod care ar putea primi una. Singurul trafic de rețea pe care îl face instrumentul este acela de aceeași origine: 3 cereri totalizând aproximativ 6 MB pentru engleză, fiecare dintre ele servită din acest domeniu. Fișierul tău este decodat în interiorul paginii, predat motorului ca pixeli și transformat în text acolo. Deschide tab-ul de rețea în timpul unei rulări și vei vedea bucăți de model sosind și nimic care să transporte imaginea ta. Pagina noastră de confidențialitate listează singurele lucruri pe care le colectăm, care sunt vizitele pe pagină și numărul anonim de utilizări ale instrumentului.

Companiile existente funcționează invers. Smallpdf și iLovePDF ambele fac recunoașterea pe propriile mașini, așa că fișierul tău trebuie să ajungă la ele înainte ca ceva să se întâmple. Răspunsul lor la întrebarea despre confidențialitate este o promisiune de păstrare: copia este ștearsă după un timp. Am citat formularea lor despre păstrare în ghidul de conversie JPG în PDF. O promisiune de păstrare îți spune cât timp scanarea pașaportului tău stă pe discul altcuiva. Nu spune nimic despre dacă ajunge acolo. Aici această întrebare nu apare.

Cât de precis este pe o captură de ecran reală?

Am măsurat-o. Șase fixture cu text cunoscut au trecut prin motor pe 2026-08-11, iar scorul de mai jos este o comparație caracter cu caracter a ieșirii față de textul pe care știam că era în imagine. Fixturele sunt sintetice: pagini HTML redimensionate într-un browser și capturate ca capturi de ecran reale, cu copia degradată estompată și rotită în CSS astfel încât să imite o captură proastă de telefon.

Rulări reale pe hardware desktop, 2026-08-11. Scorul japonez este luat cu spațierea normalizată. Duratele sunt omise deoarece un telefon va fi mai lent.
FixtureLimbaSimilitudineÎncredere
Captură de ecran curatăEngleză100.0%95
Paragraf densEngleză100.0%95
Captură degradată simulatăEngleză92.4%65
Exemplu rusRusă100.0%96
Exemplu japonezJaponeză100.0%93
Fotografie fără text în eaEngleză515 caractere de text inventat32
Trei carduri de rezultat în instrumentul de la imagine la text: clean-screenshot.png și dense-paragraph.png ambele cu 95% încredere cu text curat; degraded.png cu 65% cu cuvinte distorsionate
Succes și eșec într-un singur cadru. Captura degradată de la baza se deschide cu "ea auaracer recognition" unde sursa spune "Optical character recognition".

Două dintre fixturele în engleză au revenit cu 100.0%, caracter cu caracter, ambele cu încredere 95. Copia estompată și rotită a aceluiași paragraf a ajuns la 92.4% și încredere 65. Asta înseamnă că 7.6 puncte de similitudine s-au pierdut, iar figura de mai sus arată unde au mers: cuvintele de deschidere sunt distorsionate în timp ce mijlocul paragrafului supraviețuiește. Încrederea 65 declanșează de asemenea avertizarea de încredere scăzută pe card, așa că ești informat înainte să copiezi.

Ce se întâmplă dacă nu există text în imagine?

Aceasta este partea pe care alte pagini OCR o sar. Am predat motorului o fotografie întunecată a fluturilor peste un buștean mușchi, iar nu există scris nicăieri în ea. A returnat 515 caractere de text care nu au existat niciodată. Asta fac motoarele OCR. Ele sunt construite pentru a găsi formele caracterelor, așa că granulația și textura sunt raportate ca caractere, iar niciun stadiu din proces nu decide că o imagine este goală.

Nu pretindem că detectăm o imagine goală, pentru că nu putem. Fiecare rezultat poartă scorul său de încredere, iar un avertisment se declanșează atunci când media scade sub 60. Acea fotografie a avut scorul 32. O captură de ecran curată are scorul 95. Distanța dintre cele două numere este semnalul, și este imprimată pe card înainte să atingi textul.

Citește rusă și japoneză?

Nouă limbi: engleză, spaniolă, română, arabă, greacă, turcă, indoneziană, rusă și japoneză. Alege una înainte să extragi, pentru că motorul potrivește formele cu modelul pe care l-ai ales și modelul greșit citește prost. Nu există încă detectare automată. Ambele fixture non-latine au revenit curate, rusa cu 100.0% și încredere 96, japoneza cu 100.0% și încredere 93 odată ce spațierea este normalizată, deoarece motorul introduce spații între caracterele japoneze.

Carduri de rezultat pentru russian.png cu 96% încredere și japanese.png cu 93%, ambele arătând text corect extras, deasupra unei bare de lot citind Text extras din 6 imagine(e)
Fixturele rusești și japoneze, citite corect în același lot cu cele în engleză.

Fiecare limbă este un fișier model separat, tessdata_fast din proiectul Tesseract, servit din acest domeniu ca tot restul. Adăugarea unuia costă între aproximativ 0.6 și 2 MB prima dată când îl selectezi, iar toate nouă împreună sunt aproximativ 11 MB. Browser-ul tău le păstrează, așa că este un cost unic pe limbă și a doua rulare în orice limbă începe imediat.

Când nu ar trebui să folosești asta?

Scriere de mână. Proiectul Tesseract spune asta clar: poți să-l îndrepți spre scrierea de mână și nu va funcționa foarte bine, pentru că motorul este proiectat pentru text tipărit. Textul fotografiat într-o scenă este cealaltă situație slabă, semnul de magazin și eticheta raftului. Funcția de selecție a textului încorporată în telefonul tău se descurcă mai bine cu acestea, iar un serviciu antrenat pe scrierea de mână ne va depăși pe noi cu o scrisoare de la bunica ta. Preferăm să spunem asta decât să facem rularea și să-ți dăm un paragraf distorsionat.

Pentru tot restul, notele de calitate Tesseract se potrivesc cu ceea ce am văzut în fixture: caracterele mai mari și mai clare sunt citite mai bine, iar textul întunecat pe un fundal deschis este cazul ușor. Fă o captură de ecran a sursei unde poți. Acolo unde nu poți, fotografiază direct cu lumină uniformă și umple cadrul cu textul.

Ce fac cu imaginea după aceea?

Ieșirea este text simplu. Copiază-l cu butonul, care folosește Clipboard API al browser-ului. Descarcă un .txt pe imagine, sau ia întreaga serie ca un singur fișier. Imaginea ta rămâne neatinsă de nimic din asta. Dacă trebuie să se micșoreze înainte să o trimiti, compresorul face asta în același tab și redimensionatorul schimbă dimensiunile pixelilor. Fă oricare dintre acestea după extracție. Micșorarea unei capturi de ecran mai întâi aruncă pixeli din care sunt formate caracterele.

Două lanțuri de știut. O fotografie HEIC de pe un iPhone intră direct, decodată de browser înainte ca motorul să o vadă, așa că nu există un pas de conversie de format de făcut mai întâi. Și dacă vrei doar un bloc de text dintr-o captură de ecran lungă, rulează-l prin cropper mai întâi, astfel încât ieșirea să fie partea pe care ai cerut-o și nimic altceva. Celălalt model care rulează local pe acest site este cel care decide care pixeli sunt subiectul.

Încearcă-l pe cea mai proastă captură de ecran pe care o ai. Aruncă-l pe instrumentul de la imagine la text, alege limba, apoi citește numărul de încredere înainte de text.

Ce zici de PDF-uri?

Un PDF se împarte în două înainte ca oricare dintre acestea să se aplice. Un fișier exportat dintr-un procesor de texte sau dintr-un browser are un strat de text, așa că caracterele sunt deja acolo și extragerea lor nu implică deloc recunoaștere. Un fișier care a venit de pe un scanner sau un telefon este o imagine înfășurată într-un PDF, și are nevoie de aceeași trecere OCR pe care o face o imagine. Pagina noastră PDF la text verifică fiecare pagină și alege, iar cum decide care pagini au fost citite exact și care au fost recunoscute este descrierea mai lungă. Pe fixture, un fișier născut-digital și un fișier digital de trei pagini au revenit ambele cu 100.0% direct din stratul de text, iar o pagină scanată construită cu propriul convertor JPG în PDF al acestui site a revenit cu 100.0% prin OCR.

Trei carduri de rezultat PDF arătând o extracție a stratului de text, o extracție OCR și un rezumat al paginii
digital.pdf revine etichetat "Strat de text: exact" cu paragraful veritabil. scanned.pdf a trecut prin OCR, iar cardul raportează o încredere de 93% pentru acea trecere. multipage.pdf citește "3 pagini: 3 citite exact din stratul de text, 0 prin OCR."

Există un plafon de 25 de pagini pe fișier. Fixturele supradimensionate sunt 28 de pagini, iar rularea a citit primele 25 și a imprimat o notificare spunând asta. Împarte orice mai lung într-un cititor PDF și trimite restul ca o a doua rulare. Un alt lucru de știut înainte să începi: un PDF consumă aproximativ 1.3 MB pentru cititor pe lângă motorul OCR și model, iar acea descărcare OCR se întâmplă în continuare când fiecare pagină se dovedește a fi digitală și nu este nevoie de recunoaștere.

Cazul de confidențialitate este mai puternic aici decât pentru capturi de ecran. Extrasele de bancă, fluturașii de plată și scanările unui ID sunt documentele din care oamenii doresc cel mai mult text, și sunt cele pe care ai dori cel mai puțin să le predai serverului unui străin. Pagina PDF funcționează la fel ca instrumentul de la imagine la text, cu fișierul citit de pe discul tău în tab și nimic trimis nicăieri. Dacă sursa ta este un PDF, începe de acolo în loc să faci capturi de ecran pentru fiecare pagină.