PHP implementiert die OCR-Texterkennung
Jul 30, 2016 pm 01:29 PMMehr: http://www.webyang.net/Html/web/article_161.html
Die Baidu-Definition von OCR (Optical Character Recognition, optische Zeichenerkennung) bezieht sich auf elektronische Ger?te (z. B. Scanner). ) oder Digitalkamera), um auf Papier gedruckte Zeichen zu untersuchen, ihre Form durch Erkennung dunkler und heller Muster zu bestimmen und dann Zeichenerkennungsmethoden zu verwenden, um die Form in Computertext zu übersetzen, d. h. für gedruckte Zeichen werden optische Methoden zur A-Technologie verwendet Es wandelt den Text im Dokument in eine Schwarz-Wei?-Punktmatrix-Bilddatei um und wandelt den Text im Bild mithilfe von Erkennungssoftware in ein Textformat zur weiteren Bearbeitung und Verarbeitung durch Textverarbeitungssoftware um.
Als Ingenieur müssen Sie bei der eigentlichen Programmierung m?glicherweise den Text im Bild anzeigen, was den Einsatz der OCR-Technologie erfordert. Aufgrund der PHP-Entwicklung habe ich PHP Vorrang einger?umt. Ich habe die OCR-Erweiterung von PHP gefunden und getestet, aber festgestellt, dass sie nicht verfügbar ist (Adresse: http://sourceforge.net/projects/phpocr.berlios)? Ich habe mir auch viele Demos von Freunden im Internet angesehen. Das Grundprinzip besteht darin, das Bild in eine Matrix aus 0 und 1 zu zerlegen und es dann entsprechend den Merkmalen in die entsprechende Zeichenfolge umzuwandeln. Es ist nicht m?glich, mehrere zu testen. Dann habe ich gesehen, dass PHP selten für OCR verwendet wird und nicht geeignet ist. Die Spracheffizienz ist zu gering. Sie k?nnen C, MATLAB ausprobieren und andere OCR-Algorithmen. Es gibt viele Leute, die in Matlab arbeiten und Teilalgorithmen wie OCR spielen.
Ich habe keine andere Wahl, als wenig Talent und wenig Wissen zu haben, und ich kenne C nicht. Ich habe zuf?llig entdeckt, dass Baidu über eine OCR-API verfügt: http://apistore.baidu.com/apiworks/servicedetail/146.html.
Zum Spa? geschrieben:
<ol> <li value="1"> <span><?</span><span>php</span> </li> <li> <span>header</span><span>(</span><span>"Content-type: text/html; charset=utf-8"</span><span>);</span> </li> <li><span>?</span></li> <li> <span>function</span><span> curl</span><span>(</span><span>$img</span><span>)</span><span></span><span>{</span> </li> <li><span>?</span></li> <li> <span> $ch </span><span>=</span><span> curl_init</span><span>();</span> </li> <li> <span> $url </span><span>=</span><span></span><span>'http://apis.baidu.com/apistore/idlocr/ocr'</span><span>;</span><span></span><span>//百度ocr api</span> </li> <li> <span> $header </span><span>=</span><span> array</span><span>(</span> </li> <li> <span></span><span>'Content-Type:application/x-www-form-urlencoded'</span><span>,</span> </li> <li> <span></span><span>'apikey:69c2ace1ef297ce88869f0751cb1b618'</span><span>,</span> </li> <li> <span></span><span>);</span> </li> <li><span>?</span></li> <li> <span> $data_temp </span><span>=</span><span> file_get_contents</span><span>(</span><span>$img</span><span>);</span> </li> <li> <span> $data_temp </span><span>=</span><span> urlencode</span><span>(</span><span>base64_encode</span><span>(</span><span>$data_temp</span><span>));</span> </li> <li> <span></span><span>//封裝必要參數(shù)</span> </li> <li> <span> $data </span><span>=</span><span></span><span>"fromdevice=pc&clientip=127.0.0.1&detecttype=LocateRecognize&languagetype=CHN_ENG&imagetype=1&image="</span><span>.</span><span>$data_temp</span><span>;</span> </li> <li><span></span></li> <li> <span> curl_setopt</span><span>(</span><span>$ch</span><span>,</span><span> CURLOPT_HTTPHEADER </span><span>,</span><span> $header</span><span>);</span><span></span><span>// 添加apikey到header</span> </li> <li> <span> curl_setopt</span><span>(</span><span>$ch</span><span>,</span><span> CURLOPT_POST</span><span>,</span><span></span><span>1</span><span>);</span> </li> <li> <span> curl_setopt</span><span>(</span><span>$ch</span><span>,</span><span> CURLOPT_POSTFIELDS</span><span>,</span><span> $data</span><span>);</span><span></span><span>// 添加參數(shù)</span> </li> <li> <span> curl_setopt</span><span>(</span><span>$ch</span><span>,</span><span> CURLOPT_RETURNTRANSFER</span><span>,</span><span></span><span>1</span><span>);</span> </li> <li> <span> curl_setopt</span><span>(</span><span>$ch </span><span>,</span><span> CURLOPT_URL </span><span>,</span><span> $url</span><span>);</span><span></span><span>// 執(zhí)行HTTP請求</span> </li> <li> <span> $res </span><span>=</span><span> curl_exec</span><span>(</span><span>$ch</span><span>);</span> </li> <li> <span></span><span>if</span><span></span><span>(</span><span>$res </span><span>===</span><span> FALSE</span><span>)</span><span></span><span>{</span> </li> <li> <span> echo </span><span>"cURL Error: "</span><span></span><span>.</span><span> curl_error</span><span>(</span><span>$ch</span><span>);</span> </li> <li> <span></span><span>}</span> </li> <li> <span> curl_close</span><span>(</span><span>$ch</span><span>);</span> </li> <li><span></span></li> <li> <span> $temp_var </span><span>=</span><span> json_decode</span><span>(</span><span>$res</span><span>,</span><span>true</span><span>);</span> </li> <li> <span></span><span>return</span><span> $temp_var</span><span>;</span> </li> <li><span>?</span></li> <li><span>}</span></li> <li><span>?</span></li> <li> <span>$wordArr </span><span>=</span><span> curl</span><span>(</span><span>'4.jpg'</span><span>);</span> </li> <li> <span>if</span><span>(</span><span>$wordArr</span><span>[</span><span>'errNum'</span><span>]</span><span></span><span>==</span><span></span><span>0</span><span>)</span><span></span><span>{</span> </li> <li> <span> var_dump</span><span>(</span><span>$wordArr</span><span>);</span> </li> <li> <span>}</span><span></span><span>else</span><span></span><span>{</span> </li> <li> <span> echo </span><span>"識(shí)別出錯(cuò):"</span><span>.</span><span>$wordArr</span><span>[</span><span>"errMsg"</span><span>];</span> </li> <li><span>}</span></li> </ol>
Ein paar Bilder getestet und die Genauigkeit ist ziemlich hoch. 100%, es ist unrealistisch~
Urheberrechtserkl?rung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt die Implementierung der OCR-Texterkennung in PHP vor, einschlie?lich ihrer Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Sowohl Curl als auch Pythonrequests sind leistungsstarke Tools zum Senden von HTTP-Anfragen. W?hrend Curl ein Befehlszeilentool ist, mit dem Sie Anfragen direkt vom Terminal aus senden k?nnen, bietet die Requests-Bibliothek von Python eine eher programmatische M?glichkeit, Anfragen aus Python-Code zu senden. Die grundlegende Syntax zum Konvertieren des Curl-Befehls in den Pythonrequestscurl-Befehl lautet wie folgt: curl[OPTIONS]URL Beim Konvertieren des Curl-Befehls in eine Python-Anfrage müssen wir die Optionen und die URL in Python-Code konvertieren. Hier ist ein Beispiel für einen CurlPOST-Befehl: curl-XPOST https://example.com/api

Um die Curl-Version unter Linux zu aktualisieren, k?nnen Sie die folgenden Schritte ausführen: überprüfen Sie die aktuelle Curl-Version: Zun?chst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. ?ffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version best?tigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version best?tigen. Sie k?nnen die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

PHP8.1 ver?ffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Vor kurzem hat PHP offiziell die neueste Version von PHP8.1 ver?ffentlicht, die eine wichtige Funktion eingeführt hat: Curl für die gleichzeitige Verarbeitung mehrerer Anfragen. Diese neue Funktion bietet Entwicklern eine effizientere und flexiblere M?glichkeit, mehrere HTTP-Anfragen zu verarbeiten und verbessert so die Leistung und das Benutzererlebnis erheblich. In früheren Versionen erforderte die Bearbeitung mehrerer Anfragen h?ufig die Erstellung mehrerer Curl-Ressourcen und die Verwendung von Schleifen zum Senden bzw. Empfangen von Daten. Obwohl diese Methode den Zweck erreichen kann

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL für HTTP-Anfragen. Einführung: Bei der Webentwicklung ist es h?ufig erforderlich, mit APIs von Drittanbietern oder anderen Remote-Servern zu kommunizieren. Die Verwendung von cURL zum Senden von HTTP-Anfragen ist eine g?ngige und leistungsstarke Methode. In diesem Artikel wird erl?utert, wie Sie mit PHP cURL erweitern, um HTTP-Anfragen auszuführen, und einige praktische Codebeispiele bereitstellen. 1. Vorbereitung Stellen Sie zun?chst sicher, dass PHP die cURL-Erweiterung installiert hat. Zur überprüfung k?nnen Sie php-m|grepcurl in der Befehlszeile ausführen

Wie gehe ich mit der 301-Umleitung von Webseiten in PHPCurl um? Wenn Sie PHPCurl zum Senden von Netzwerkanfragen verwenden, werden Sie h?ufig auf den von der Webseite zurückgegebenen Statuscode 301 sto?en, der darauf hinweist, dass die Seite dauerhaft umgeleitet wurde. Um diese Situation richtig zu handhaben, müssen wir der Curl-Anfrage einige spezifische Optionen und Verarbeitungslogik hinzufügen. Im Folgenden wird detailliert beschrieben, wie mit der 301-Umleitung von Webseiten in PHPCurl umgegangen wird, und es werden spezifische Codebeispiele bereitgestellt. 301-Redirect-Verarbeitungsprinzip 301-Redirect bedeutet, dass der Server eine 30 zurückgibt

Universal Translate auf dem iPhone ist eine sehr nützliche Funktion auf Reisen. Arthur C. Clarke sagte bekanntlich, dass jede ausreichend fortgeschrittene Technologie nicht von Magie zu unterscheiden sei, eine F?higkeit, die meiner Meinung nach auch heute noch wahr ist. Apple hat LiveTextOCR in iOS15 eingeführt. Suchen Sie in der Kamera-App in iOS 15 nach der neuen Live-Text-Schaltfl?che (drei Zeilen im Sucher). Die untere rechte Ecke im Hochformat oder die untere linke Ecke im Querformat. Suchen Sie nach dem gelben Sucherrechteck und die Kamera erkennt den Text, wenn Sie ihn verschieben. Wenn Ihr gewünschter Text von einem gelben Sucher umgeben ist, tippen Sie auf die Schaltfl?che ?Live-Text“, um den erkannten Text auszuw?hlen, zu kopieren, zu suchen, zu übersetzen und zu teilen. Sie k?nnen auch Text in der App markieren, weitere Optionen ausw?hlen und

Unter Linux ist Curl ein sehr praktisches Tool zum übertragen von Daten zum und vom Server. Es verwendet URL-Regeln, um unter der Befehlszeile zu arbeiten, und ist ein umfassendes übertragungstool. Curl bietet viele sehr nützliche Funktionen, darunter Proxy-Zugriff, Benutzerauthentifizierung, FTP-Upload und -Download, HTTP POST, SSL-Verbindung, Cookie-Unterstützung, Breakpoint-Wiederaufnahme und so weiter.

OCR (OpticalCharacterRecognition, optische Zeichenerkennung) ist eine Technologie, die Text in Bildern in computerlesbaren Text umwandelt. Es hilft Ihnen, Text in Bildern in bearbeitbaren Text umzuwandeln. In diesem Artikel stellen wir vor, wie Sie PHP und die OCR-Engine Tesseract für die OCR-Verarbeitung verwenden. Tesseract installieren Zuerst müssen wir die TesseractOCR-Engine installieren. Tesseract ist ein Open-Source-OC
