asp.net不适合做网站,网页前端做购物网站的实训报告,网站规划与建设是什么意思,win7iis部署asp.net网站【框架地址】
https://github.com/charlesw/tesseract 【算法介绍】
Tesseract OCR是一个开源的光学字符识别引擎#xff0c;它可以将图像中的文字转换成可编辑和可搜索的文本格式。Tesseract由惠普实验室于1985年开始开发#xff0c;并在2005年被Google收购后成为了开源项…【框架地址】
https://github.com/charlesw/tesseract 【算法介绍】
Tesseract OCR是一个开源的光学字符识别引擎它可以将图像中的文字转换成可编辑和可搜索的文本格式。Tesseract由惠普实验室于1985年开始开发并在2005年被Google收购后成为了开源项目。自那时起它一直在不断的更新和改进成为了世界上最流行的OCR引擎之一。
核心技术
Tesseract利用了机器学习的方法特别是在其后期版本中引入了基于长短时记忆LSTM网络的深度学习模型这显著提高了其对文字的识别能力。Tesseract的OCR过程大致可以分为几个阶段预处理、文字检测、文字分割、文字识别和后处理。
特点
多语言支持
Tesseract支持100多种语言的文字识别包括多种字母和符号系统。用户可以根据需要下载和使用特定语言的训练数据。
灵活的预处理
虽然Tesseract本身提供了一些基本的图像预处理功能但它也允许用户使用其他图像处理工具进行高级预处理从而提高识别准确率。
可定制性
Tesseract允许用户通过训练自己的模型来优化识别结果这对于专门的应用或不常见的字体类型尤其有用。
开源和免费
作为一个开源项目Tesseract不仅免费使用而且还鼓励开发者参与贡献这使得它得到了广泛的社区支持和持续的改进。
应用场景
Tesseract OCR可以应用于多种文本识别场景如
文档数字化将纸质文档转化为电子文档便于存储、检索和编辑。自动化数据录入在行业如银行、保险等领域自动化处理表格、发票等文档。车牌识别在交通管理和自动化停车系统中用于车牌号的识别。辅助阅读帮助视力障碍人士读取各种印刷材料。
技术优势
成熟稳定
作为一个长期存在且经过广泛测试的项目Tesseract的稳定性和可靠性得到了公认。
社区活跃
Tesseract有一个非常活跃的开源社区不断提供bug修复、功能更新和支持。
可扩展性
Tesseract的设计使其可以轻松集成到其他应用程序中并且可以通过插件或脚本扩展功能。
尽管Tesseract在某些复杂场景下的识别准确率可能不及专业的商业OCR软件但其开源免费的特性以及不断进步的技术使其在许多情况下仍然是首选的OCR工具。
【效果展示】 【官方实现部分代码】
Basic Text from Image from filepath
from Tesseract.ConsoleDemo/Program.cs
using (var engine new TesseractEngine(./tessdata, eng, EngineMode.Default)){using (var img Pix.LoadFromFile(testImagePath)){using (var page engine.Process(img)){var text page.GetText();Console.WriteLine(Mean confidence: {0}, page.GetMeanConfidence());Console.WriteLine(Text (GetText): \r\n{0}, text);Console.WriteLine(Text (iterator):);}}}
Basic Text from Image bytes
FileStream fs new FileStream(filename, FileMode.Open, file_access);
var ms new MemoryStream();
fs.CopyTo(ms);
fs.Close();
bytes[] fileBytes ms.ToArray();
ms.Close();
using (var engine new TesseractEngine(./tessdata, eng, EngineMode.Default)){using (var img Pix.LoadFromMemory(fileBytes)){using (var page engine.Process(img)){var txt page.GetText();}}}
Image to txt searchable pdf using paths
using (IResultRenderer renderer Tesseract.PdfResultRenderer.CreatePdfRenderer(test.pdf, ./tessdata, false)){// PDF Titleusing (renderer.BeginDocument(Serachablepdftest)){string configurationFilePath C:\tessdata;using (TesseractEngine engine new TesseractEngine(configurationFilePath, eng, EngineMode.TesseractAndLstm)){using (var img Pix.LoadFromFile(C:\file-page1.jpg)){using (var page engine.Process(img, Serachablepdftest)){renderer.AddPage(page);}}}}}
Image to pdf returning file bytesvar tmpPdfLocation ./tessdata/pdf;var sep Path.PathSeparator;var tmpFile tmpPdfLocation sep Path.GetTempFileName();bytes[] fileBytes null;using (IResultRenderer renderer Tesseract.PdfResultRenderer.CreatePdfRenderer(tmpFile, ./tessdata, false)){// PDF Titleusing (renderer.BeginDocument(Serachablepdftest)){// string configurationFilePath C:\tessdata;using (TesseractEngine engine2 new TesseractEngine(configurationFilePath, eng, EngineMode.TesseractAndLstm)){using (var img Pix.LoadFromFile(C:\file-page1.jpg)){using (var page engine.Process(img, Searchablepdftest)){renderer.AddPage(page);}}}}}// on dispose file should be createdvar stream new FileStream(tmpFile, FileMode.Open, FileAccess.Read);MemoryStream ms new MemoryStream();stream.CopyTo(ms);fileBytes ms.ToArray();stream.Dispose();ms.Close();// delete tmp fileFile.Delete(tmpFile); 【视频演示】
https://www.bilibili.com/video/BV1uT4y1n7SK/ 【源码下载】 【测试环境】
vs2019
netframework4.7.2