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. Bootstrap-table使用footerFormatter做统计列

    写在前面: 在做表格的时候,难免会碰到做统计的时候.由于在项目中涉及到做统计的功能比较简单,之后也就没有过多的去研究更复杂的,这里简单记录下. 这次就直接先上图:一个简单的例子 看到效果图还是很好的, ...

  2. [python]关于字符串查找和re正则表达式的效率对比

    最近需要在python中做大日志文件中做正则匹配 开始直接在for in 中每行做re.findall,后来发现,性能不行,就在re前面做一个基本的字符串包含判断 (str in str),如果不包含 ...

  3. js常用功能总结

    1,手机号的校验 //手机号的判断 function checktel() { //手机号不为空,格式校验 var tel = $(".uidbtp").val(); if(tel ...

  4. 从cmd连接mysql数据库控制台

    在cmd中进入mysql安装目录的bin目录然后执行命令 mysql -uuser -ppassword database比如用户名为root,密码为mysql,数据库为test命令如下mysql - ...

  5. 【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务

    1.ArcGIS 10.2支持原生数据发布为要素服 有没有将自己已有的空间数据发布为要素服务的需求?有没有将非Esri空间数据类型的数据作为服务在Web端展示的需求?     ArcGIS 10.2 ...

  6. [置顶] Windows显示驱动(WDDM)编程初步(2)

    欢迎转载[作者:张佩][原文:http://www.yiiyee.cn/Blog/wddm2/] 第二部分专门只讲VIDPN.这是后面内容的基础.WDDM框架用VIDPN这个概念,来描述它所要处理的显 ...

  7. Centos7.3 bbc tools安装

    http://blog.csdn.net/orangleliu/article/details/54099528 更新到最新 CentOS 7.3 1611 yum update -y cat /et ...

  8. easyui dialog 按钮动态命名

    1.方法一: /** * grid新增 * 弹框并且获取支付类型 */ function gridAdd() { var dlg = $('#mydialog').dialog({ title : & ...

  9. Python图像处理(16):图像金字塔

    快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 图像金字塔是图像中多尺度表达的一种,最初用于机器视觉和图像压缩.一幅图像的金字塔是一系列以金字塔形 ...

  10. Linux的PCI驱动分析

    1. 关键数据结构 PCI设备上有三种地址空间:PCI的I/O空间.PCI的存储空间和PCI的配置空间.CPU可以访问PCI设备上的所有地址空间,其中I/O空间和存储空间提供给设备驱动程序使用,而配置 ...