实现图片中文的识别和获取图片上文字的坐标(java实现)
实现图片中文的识别和获取图片上文字的坐标(java实现)
现在利用python来进行图片的文字识别较为普遍,但是如果我们利用常用的家庭电脑来识别,需要的时间比较长,达到20~30s, 但是如果我们采用javacv这个视觉处理库来
实现图片的识别和文字定位,在同样的电脑配置中需要的时间可以减缩至5s以下,大大提高了工作效率,以下内容为如何利用javacv视觉库处理获取图片上的文字以及文字
在图片的坐标。已成功调试运行的Demo(windows平台)https://download.csdn.net/download/qq_37307077/13736519可下载
1.下载好已训练好的中文语言包chi_sim.traineddata,需要其他语言包可到github上下载。
2.准备好windows、Linux、max不同操作平台上的javacv api(下载路径https://download.csdn.net/download/qq_37307077/13736557);
3.上代码。
获取图片中所有文字:
public class ImageOcr {public static void main(String[] args) throws Exception{System.out.println("开始识别");long starttime = System.currentTimeMillis();//获取当前程序执行绝对路径。String currentfile=System.getProperty("user.dir");String text = Ocr("chi_sim", currentfile, currentfile+"/screencap.png");System.out.println("discriminate interval:" + (System.currentTimeMillis() - starttime) + ",ocr text:" + text);}public static String Ocr(String lang, String langpath, String imageurl) throws UnsupportedEncodingException{//创建字节容器。BytePointer outtext;//启动识别器TessBaseAPI ocrapi = new TessBaseAPI();//初始化识别器的语言包if (ocrapi.Init(langpath, lang) != 0) {System.out.println("Could not initialize tesseract");return null;}//读取源图片PIX image = pixRead(imageurl);//识别器装入图片ocrapi.SetImage(image);//识别器识别进行段。outtext = ocrapi.GetUTF8Text();try {return outtext.getString("utf-8");} finally {//最后释放资源ocrapi.End();outtext.deallocate();pixDestroy(image);}}
}
4.编译运行效果显示
用window下的cmd,编译运行如下:
源图片 : 编译识别:
获取图片上每一行文字的在图片上坐标,效果如下:
获取图片上指定文字的坐标,效果如下:
5.总结
由于时间仓促,并没有对语言包进行过多的训练,但识别效果还是不错的,如果图片出现比较多的色块,识别效果并没那么好,当然,你可以通过代码对图片的进行灰度化处理,
这样也可以有很好的识别效果。由于自身所从事的手机自动化工作,为了更好地处理手机屏幕上的图片,获取到更加精准的手机屏幕信息,减轻工作强度,所以此代码操作
适用于手机截屏的图片,你也可以识别其他图片的信息。
实现图片中文的识别和获取图片上文字的坐标(java实现)相关推荐
- python 通过图片(原图)精确获取图片拍摄的位置
想要悄悄的获取某人的位置,只需通过拍摄的照片,就能可以实现. 此方法需要用到识别图片元数据的库. pip3 install exifread 1. 粗获取 获取拍摄照片的经纬度,时间,设备信息.这里使 ...
- Excel插入图片自动OCR识别成可编辑的文字
今天要和大家分享的是:Excel插入图片自动OCR识别成可编辑的文字详见下图动态演示和步骤分解." 1.首先打开Excel表格 2.然后选择diy工具箱 3.选择文字识别按钮 4 ...
- 如何在Python中获取图片分辨率?——Python实现获取图片分辨率的代码及详解。
如何在Python中获取图片分辨率?--Python实现获取图片分辨率的代码及详解. 在进行图片处理或者图片分析的时候,获取图片的分辨率信息是必不可少的.Python提供了许多库可以方便地获取图片的分 ...
- Unity for IOS 加载手机相册图片以及打开相机拍照获取图片
Unity for IOS 加载手机相册图片以及打开相机拍照获取图片 最近想做一个使用unity for IOS获取手机图片的功能,所以就研究了一下 这里我们需要创建两个objective-c文件,最 ...
- php 图片填充颜色代码,PHP获取图片颜色值,检测图片主要颜色的代码:
$i=imagecreatefromjpeg("photo3.jpg");//测试图片,自己定义一个,注意路径 for ($x=0;$x for ($y=0;$y $rgb = i ...
- python 通过图片(原图)精确获取图片拍摄的位置,时间,设备等信息
想要悄悄的获取某人的位置,只需通过她拍摄的照片,就能可以实现.此方法需要用到识别图片元数据的库.这里操作是在虚拟机ubuntu上,使用python最好是在3.6及以上. pip3 install ex ...
- 图片相似度识别算法,百度图片识别算法
图像识别算法都有哪些 图像识别算法:1人脸识别类(Eigenface,Fisherface算法特别多),人脸检测类(j-v算法,mtcnn)2车牌识别类,车型识别类(cnn)3字符识别(cnn)... ...
- android 4.4 获取图片主色调,Android 使用 Palette 获取图片主色调
Palette是Android中的调色板,我们可以通过传递一个Bitmap来获取一个颜色列表,可以通过类中封装的分析算法来获取其中的 Vibrant(充满活力的) Vibrant dark(充满活力的 ...
- python下载图片并保存_Python爬虫获取图片并下载保存至本地的实例
1.抓取煎蛋网上的图片. 2.代码如下: import urllib.request import os #to open the url def url_open(url): req=urllib. ...
最新文章
- 为.net中的ListBox控件添加双击事件
- c语言课程设计怎么做,C语言课程设计————写下流程图! 谢谢
- 华为申请鸿蒙系统邮箱,华为鸿蒙系统
- [MATLAB调试笔记]phase space plot
- 计算机学院的行话,只有你和你同学知道的“专业行话”
- MySQL Group Replication 介绍
- java-二分查找树的实现
- es6 --- 异步迭代生成器 Promise
- Commons Configuration之一简介
- 预印本(Preprint)及出版商的投稿政策
- jQuery扩展半Lambda表达式 类似Linq的Where
- java 网络编程 总结篇
- cmake practice学习记录
- excel复选框_使用复选框更改Excel公式结果
- tableview中cell折叠的功能
- 软件架构设计---产品线及系统演化
- 伦敦 quant_伦敦统一用户组(LUUG)见面v1.0
- ubuntu 下浏览器中打开网页乱码解决
- python 条件语句实例_详解python 条件语句和while循环的实例代码
- 函数柯里化与反柯里化
热门文章
- 《郑军的回忆》文章记录了我3年的痛苦过去
- 【颜纠日记】极简生活,盘点那些生活中的消耗品,耐用品,拯救你的断舍离。
- 计算机系统权限授权,win 7 期间版操作系统的权限说明
- 大V科技谈 | VMware利用先进的自动化技术,简化混合办公模式
- Python 实现 GIF 动态图片分解 , 多帧动态图分解成多张静态图片
- STM32F105替换为AT32F403A注意事项
- html 代码实现一些符号,大于号、小于号、商标等
- 行内元素和块级元素:内联(行级)元素不能设置margin-top
- 03【Verilog实战】UART通信协议,半双工通信方式(附源码)
- 专升本培训机构如何用自媒体做品牌推广