当前位置:首页 » 编程语言 » php图片识别文字

php图片识别文字

发布时间: 2024-11-28 12:55:23

php提取文字

这个有点像读取图片验证码
记得以前有人写过,不过只是针对某个特定网站特定图片样式写的。
大概原理:
图片的文字是无法直接读取,通过读取图片像素模糊判断是可以的。

先是读取图片,然后根据图片,调整一下对比度(网上有程序代码),让图片的文字更突出,背景更淡化。
然后嵌套循环,每行每列读取图片像素,找出规律对比一下。
判断图片字符。

ps:这个规律得有个好的算法和思路

比如文字“一”
读出的像素数组可能是在
a[5,4] a[6,4] a[7,4] a[8,4] a[9,4] a[10,4]
这些地方有颜色,而且颜色大概相同,
你再建个字符规律库,“一”的可能是 1,1,1,1,1,1,1
两个通过转换算法相互对比一下,如果大概符合,就可以判断是字符“一”。

误差会有的,就算官方的扫描程序也会认错字。

我只随便说一下,不一定正确。你可以在网站搜下相关东西。

② php 如何把图片上的文字提取出来

提取图片上文字,必须用到识别功能,即OCR。
自己写很难,因为要有识别库。
建议使用开源的Tesserac识别库。
目前也有很多成熟的OCR的API,可以看下。

③ 请问php有办法识别一张图片色块分布吗比如找出最适合添加文字的地方

理论上肯定是可以的。不过这应该是一个很高深的东西。所以,我只能给你我很粗浅的方法:

一:写个函数,这个函数的主要功能是找出一张图片上的主要颜色(代码在最后面)
二:把一张图片有GD库分成9份(3*3)或更多份,然后用第一个函数来取得每一份小图的主要颜色。
三:比对这几份小图的颜色,看哪一份的颜色是你需要的。

如果你原意,你也可以切很多份,比如10000份(100*100),然后计算这10000个颜色的中你需要的颜色的分布,找出你需要的区域。

$i = imagecreatefromjpeg("image.jpg");

for ($x=0;$x<imagesx($i);$x++) {
for ($y=0;$y<imagesy($i);$y++) {
$rgb = imagecolorat($i,$x,$y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> & 0xFF;
$b = $rgb & 0xFF;

$rTotal += $r;
$gTotal += $g;
$bTotal += $b;
$total++;
}
}

$rAverage = round($rTotal/$total);
$gAverage = round($gTotal/$total);
$bAverage = round($bTotal/$total);

④ php 或 js 怎么在图片上添加文字和图片,

在图片上添加文件,可以的,不过需要借助ocr文字识别技术,方法如下:

打开ocr---高级识别---添加文件---识别;

然后呢,在右边直接打上文字,最后,可以保持为图片或者是word!

对上面的方法有所疑问的欢迎提问哦!!!

⑤ 用php代码怎么以背景图片加上文字生成新的图片,然后在标题处绝对调用该图片

<?php
ob_clean(); //清除输出缓存
header("Content-type:image/jpeg"); //设置输出类型
$img="images/test.jpg"; //背景图片名
if(isset($_GET["img"]))$img=$_GET["img"]; //也可以通过img参数传入
$im=imagecreatefromjpeg($img); //读入背景图片
$text="文字内容"; //要加上的文字内容
if(isset($_GET["text"]))$text=$_GET["text"]; //也可以通过text参数传入
$fontFile="xxx.ttf"; //字体文件名,必须要
$fontSize=36; //字体尺寸
$fontColor=ImageColorAllocate($im,0,0,0); //字体颜色,这里是黑色
$textAngle=0; //文字显示的角度,0表示水平显示
$textLeft=20; //文字显示的x坐标
$textTop=60; //文字显示的y坐标
imagefttext($im,$fontSize,$textAngle,$textLeft,$textTop,$fontColor,$fontFile,$text); //把文字覆盖到图片上
Imagejpeg($im); //输出图片
ImageDestroy($im); //销毁图片
?>
把以上文字保存为php文件,比如 img.php
然后在需要调用图片的地方用 <img src="img.php?img=背景图片文件路径&text=要加上的文字"/> 来调用
比如 <img src="img.php?img=images/back.jpg&text=你好"/>

⑥ 如何用PHP识别一张图片的某一处位置(图片相当于背景)。然后在这个位置可以编辑文字,然后打印(PDF)

使用php
位置没有办法自动识别,但可以指定,例如可以指定x和y轴(20,25)

热点内容
算法对算 发布:2024-11-28 15:41:38 浏览:3
称重系统界面如何找配置项 发布:2024-11-28 15:28:29 浏览:569
vue能被反编译嘛 发布:2024-11-28 15:23:59 浏览:79
gl和中配哪个配置好 发布:2024-11-28 15:20:01 浏览:235
linuxandroid嵌入式 发布:2024-11-28 15:18:58 浏览:200
服务密码是啥有什么用 发布:2024-11-28 15:08:48 浏览:164
编程王国 发布:2024-11-28 15:05:12 浏览:977
ftp服务器对什么硬件要求高 发布:2024-11-28 14:45:10 浏览:650
sql服务管理器下载 发布:2024-11-28 14:45:02 浏览:772
windows第三方ftp搭建 发布:2024-11-28 14:43:53 浏览:199