http://apistore.baidu.com/apiworks/servicedetail/146.html

分类: php2011-- : 3576人阅读 评论() 收藏 举报
phpfunction电话pathcnull /**
* 电话号码识别.
* @author by zsc for 2010.03.24
*/ class gjPhone{
protected $imgPath;//图片路径
protected $imgSize;//图片大小
protected $hecData;//分离后数组
protected $horData;//横向整理的数据
protected $verData;//纵向整理的数据 function __construct($path){
$this->imgPath = $path;
}
/**
* 颜色分离转换...
*
* @param unknown_type $path
* @return unknown
*/
public function getHec()
{
$size = getimagesize($this->imgPath);
$res = imagecreatefrompng($this->imgPath);
for($i=; $i < $size[]; ++$i)
{
for($j=; $j < $size[]; ++$j)
{
$rgb = imagecolorat($res,$j,$i);
$rgbarray = imagecolorsforindex($res, $rgb);
if($rgbarray['red'] < || $rgbarray['green']<
|| $rgbarray['blue'] < )
{
$data[$i][$j]=;
}else{
$data[$i][$j]=;
}
}
}
$this->imgSize = $size;
$this->hecData = $data;
}
/**
* 颜色分离后的数据横向整理...
*
* @return unknown
*/
public function magHorData()
{ $data = $this->hecData;
$size = $this->imgSize;
$z = ;
for($i=; $i<$size[]; ++$i)
{
if(in_array('',$data[$i])){
$z++;
for($j=; $j<$size[]; ++$j)
{
if($data[$i][$j] == ''){
$newdata[$z][$j] = ;
}else{
$newdata[$z][$j] = ;
}
}
} }
return $this->horData = $newdata;
}
/**
* 整理纵向数据...
*
* @return unknown
*/
public function magVerData($newdata){
for ($i=;$i<;++$i){
for($j=;$j<;++$j){
$ndata[$i][$j] = $newdata[$j][$i];
}
} $sum = count($ndata);
$c = ;
for ($a=;$a<$sum;$a++){
$value = $ndata[$a];
if(in_array(,$value)){
$ndatas[$c] = $value;
$c++;
}elseif(is_array($ndatas)){
$b = $c-;
if(in_array(,$ndatas[$b])){
$ndatas[$c] = $value;
$c++;
}
}
} return $this->verData = $ndatas; }
/**
* 显示电话号码...
*
* @return unknown
*/
public function showPhone($ndatas){
$phone = null;
$d = ;
foreach ($ndatas as $key => $val){
if(in_array(,$val)){
foreach ($val as $k => $v){
$ndArr[$d].=$v;
}
}
if(!in_array(,$val)){
$d++;
}
}
foreach ($ndArr as $key01 =>$val01){
$phone .= $this->initData($val01);
}
return $phone;
}
/**
* 分离显示...
*
* @param unknown_type $dataArr
*/
function drawWH($dataArr){
if(is_array($dataArr)){
foreach ($dataArr as $key => $val){
foreach ($val as $k => $v){
if($v == ){
$c .= "<font color='#FFFFFF'>".$v."</font>";
}else{
$c .= $v;
}
}
$c .= "<br/>";
}
}
echo $c;
}
/**
* 初始数据...
*
* @param unknown_type $numStr
* @return unknown
*/
public function initData($numStr){
$result = null;
$data = array(
=>'',
=>'',
=>'',
=>'',
=>'',
=>'',
=>'',
=>'',
=>'',
=>'',
);
foreach ($data as $key => $val){
similar_text($numStr,$val,$pre);
if($pre>){//相似度95%以上
$result = $key;
break;
}
}
return $result;
}
} $imgPath = "http://bj.ganji.com/tel/5463013757650d6c5e31093e563c51315b6c5c6c5237.png";
$gjPhone = new gjPhone($imgPath);
//进行颜色分离
$gjPhone->getHec();
//画出横向数据
$horData = $gjPhone->magHorData();
echo "===============横向数据==============<br/><br/><br/>";
$gjPhone->drawWH($horData);
// 画出纵向数据
$verData = $gjPhone->magVerData($horData);
echo "<br/><br/><br/>===============纵向数据==============< br/><br/><br/>";
$gjPhone->drawWH($verData); // 输出电话
$phone = $gjPhone->showPhone($verData);
echo "<br/><br/><br/>===============电话==============<br /><br/><br/>".$phone;
 

PHP图片识别成文字的更多相关文章

  1. 使用阿里云的图片识别成表格ocr(将图片表格转换成excel)

    为了简便财务总是要对照着别人发来的表格图片制作成自己的表格 图片识别 识别成表格 表格识别 ocr 使用阿里云api 购买(印刷文字识别-表格识别) https://market.aliyun.com ...

  2. 阿里云OCR图片转换成文字识别调用

    using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Drawing; using S ...

  3. 利用百度AI OCR图片识别,Java实现PDF中的图片转换成文字

    序言:我们在读一些PDF版书籍的时候,如果PDF中不是图片,做起读书笔记的还好:如果PDF中的是图片的话,根本无法编辑,做起笔记来,还是很痛苦的.我是遇到过了.我们搞技术的,当然得自己学着解决现在的痛 ...

  4. OpenResy+Lua 利用百度识图 将图片地址解析成文字

    LUA代码:(注:LUA里有一个调用百度识图的接口IP:123.125.115.189(stu.baidu.com),不知为什么我的虚拟机无法解析stu.baidu.com,所以我只能PING出IP来 ...

  5. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  6. C# 图片识别技术(支持21种语言,提取图片中的文字)

    图片识别的技术到几天已经很成熟了,只是相关的资料很少,为了方便在此汇总一下(C#实现),方便需要的朋友查阅,也给自己做个记号. 图片识别的用途:很多人用它去破解网站的验证码,用于达到自动刷票或者是批量 ...

  7. 如何大批量的识别图片上的文字,批量图片文字识别OCR软件系统

    软件不需要安装,直接双击打开就可以用,废话不多说直接上图好了,方便说明问题 批量图片OCR(批量名片识别.批量照片识别等)识别,然后就下来研究了一下,下面是成果 使用步骤:打开单个图片识别,导入文件夹 ...

  8. javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置. ...

  9. Python人工智能之图片识别,Python3一行代码实现图片文字识别

    1.Python人工智能之图片识别,Python3一行代码实现图片文字识别 2.tesseract-ocr安装包和中文语言包 注意:

随机推荐

  1. Spoj Query on a tree III

    题目描述 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑点,若无,输出 ...

  2. 【莫队算法】【权值分块】bzoj3585 mex

    orz PoPoQQQ. 本来蒟蒻以为这种离散化以后就对应不起来的题不能权值分块搞的说. ……结果,实际上>n的权值不会对答案作出贡献. #include<cstdio> #incl ...

  3. HTML5 boilerplate 笔记(转)

    最近在研究HTML5 boilerplate的模版,以此为线索可以有条理地学习一些前端的best practice,好过在W3C的文档汪洋里大海捞针……啊哈哈哈…… 开头的IE探测与no-js类是什么 ...

  4. Redis编程实践【pub/sub】

    原文:http://shift-alt-ctrl.iteye.com/blog/1867454 Redis或许已经在很多企业开始推广并试水,本文也根据个人的实践,简单描述一下Redis在实际开发过程中 ...

  5. 最佳eclipse字体推荐(个人觉得)

    首先大家能够看看这里面推荐的最佳十款字体.http://www.iteye.com/news/11102-10-great-programming-font 可是经过測试发现,排名第一的字体在ecli ...

  6. openstack 动态加载usb,需要修改kvm虚拟机的xml文件

    一.利用libvirt命令动态挂载 在利用KVM的虚拟桌面应用中,有时候需要在虚拟桌面起来后还能够动态的挂载或卸载数据盘,以达到类似热插盘U盘或移动硬盘的效果,当然管理上需要做处理.如果纯粹中技术上来 ...

  7. javascript 正则表达式判断只能是中文、英文或者中文加英文

    var reglx =/^[\u4e00-\u9fa5a-zA-Z]+$/ 这个是至少有一个中文或者英文 var reglx =/^[\u4e00-\u9fa5a-zA-Z]*$/ 这个是0个以上的中 ...

  8. java使用freemarker作为模板导出Excel表格

    1:首先新建一个excel表格自己弄好格式如下图 2:把excel 表格另存为xml格式文件如下图 3:这个时候的文件就是xml 格式的文件了,在myeclipse里面项目工程里面新建一个文件后缀为. ...

  9. 搭建svnserve并创建提交钩子

    之前做过很多这个过程了,但每次总有些地方不记得要查资料,现在顺手记录一下,以后好查. 安装svn apt-get install subversion 创建代码仓库 svnadmin create & ...

  10. CocoSourcesCS 4

    /*------------------------------------------------------------------------- ParserGen.cs -- Generati ...