ホームページ  >  記事  >  バックエンド開発  >  PHP は OCR テキスト認識を実装します

PHP は OCR テキスト認識を実装します

巴扎黑
巴扎黑オリジナル
2016-11-10 11:31:312724ブラウズ

OCR (光学文字認識) の Baidu の定義では、電子デバイス (スキャナーやデジタル カメラなど) が紙に印刷された文字をチェックし、明暗のパターンを検出して文字の形状を判断し、文字認識方法を使用して文字を認識することを指します。形状をコンピュータテキストに変換するプロセス。つまり、印刷された文字の場合、紙の文書内のテキストが光学的に白黒のドットマトリクス画像ファイルに変換され、画像内のテキストが認識ソフトウェアによってテキスト形式に変換されます。ワープロソフトを使ってさらに編集・加工する技術。

エンジニアとして、実際のプログラミングでは、画像内のテキストを表示する必要がある場合がありますが、これには OCR 技術の使用が必要です。 PHP の開発のため、PHP を優先して PHP の OCR 拡張機能を見つけてテストしましたが、利用できないことがわかりました (アドレス: http://sourceforge.net/projects/phpocr.berlios)。 私もインターネットで友人のデモを何度も見ました。基本原理は、画像を 0 と 1 の行列に分解し、その特徴に応じて対応する文字列に変換することです。複数のテストを行うことは現実的ではありません。その後、PHP は OCR に使用されることはほとんどなく、このアルゴリズムには高い効率が必要であるため、適切ではないと言っているのを目にしました。 CやMATLABなどのOCRアルゴリズムを試すことができます。 Matlab では、OCR などの部分的なアルゴリズムを実行する人がたくさんいます。

私には才能も知識もほとんどなく、Cを知りません。 Baidu に OCR API が提供されていることを偶然発見しました: http://apistore.baidu.com/apiworks/servicedetail/146.html。

楽しみのために書きました:

<?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"];
}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPの操作次の記事:PHPの操作