Heim > Backend-Entwicklung > PHP-Tutorial > PHP implementiert die OCR-Texterkennung

PHP implementiert die OCR-Texterkennung

巴扎黑
Freigeben: 2016-11-10 11:31:31
Original
2777 Leute haben es durchsucht

Die Baidu-Definition von OCR (Optical Character Recognition, optische Zeichenerkennung) bezieht sich auf ein elektronisches Gerät (z. B. einen Scanner oder eine Digitalkamera), das die auf Papier gedruckten Zeichen überprüft, ihre Form durch Erkennen dunkler und heller Muster bestimmt und diese dann verwendet Zeichenerkennungsmethode Der Prozess der Übersetzung von Formen in Computertext; bei gedruckten Zeichen wird der Text im Papierdokument optisch in eine Schwarz-Weiß-Punktmatrix-Bilddatei umgewandelt und der Text im Bild wird in ein Textformat umgewandelt durch Erkennungssoftware, eine Technologie zur Weiterbearbeitung durch Textverarbeitungssoftware.

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 den OCR-Algorithmus von C, MATLAB usw. ausprobieren. 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:

<?php
header("Content-type: text/html; charset=utf-8");
 
function curl($img){
 
$ch = curl_init();
$url =&#39;http://apis.baidu.com/apistore/idlocr/ocr&#39;;//百度ocr api
$header = array(
&#39;Content-Type:application/x-www-form-urlencoded&#39;,
&#39;apikey:69c2ace1ef297ce88869f0751cb1b618&#39;,
);
 
$data_temp = file_get_contents($img);
$data_temp = urlencode(base64_encode($data_temp));
//封装必要参数
$data="fromdevice=pc&clientip=127.0.0.1&detecttype=LocateRecognize&languagetype=CHN_ENG&imagetype=1&image=".$data_temp;
curl_setopt($ch, CURLOPT_HTTPHEADER , $header);// 添加apikey到header
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);// 添加参数
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch , CURLOPT_URL , $url);// 执行HTTP请求
$res = curl_exec($ch);
if($res === FALSE){
echo "cURL Error: ". curl_error($ch);
}
curl_close($ch);
$temp_var = json_decode($res,true);
return $temp_var;
 
}
 
$wordArr = curl(&#39;4.jpg&#39;);
if($wordArr[&#39;errNum&#39;]==0){
var_dump($wordArr);
}else{
echo "识别出错:".$wordArr["errMsg"];
}
Nach dem Login kopieren


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage