python人工智能识别字符,即用型 OCR,支持 80 多种语言和所有流行的书写脚本
即用型 OCR,支持 80 多种语言和所有流行的书写脚本,包括拉丁文、中文、阿拉伯文、梵文、西里尔文等。
OCR(Optical Character Recognition,光学字符识别)技术是一种通过电子设备如扫描仪或数码相机,将纸质文档中的字符转换成计算机可以理解和处理的文本信息的技术。这一过程涉及对文档进行影像扫描,然后通过影像预处理、文字特征抽取、字符比对识别等步骤,最终实现文字的电子化。 OCR的工作流程 1. 影像输入:首先,需要识别的文档通过扫描仪、相机等设备转换成数字图像。 2. 影像预处理:对获取的图像进行噪声去除、影像规范化、二值化处理等,以优化后续的文字识别。 3. 文字特征抽取:在这一步,系统会分析图像中的每一个文字区域,提取出字符的形状、大小、间距等特征。 4. 比对识别:将提取的特征与已建立的字符库进行比对,从而识别出每一个字符。 5. 人工校正:尽管现代OCR技术已经非常先进,但仍然可能存在识别错误。因此,通常需要人工进行最后的校对和更正。 6. 输出结果:经过校正后,识别结果将以文本格式输出,可供文字处理软件进一步编辑。 OCR技术的关键挑战 - 拒识率和误识率:如何减少OCR系统拒识(无法识别)和误识(错误识别)的情况,是提高OCR性能的关键。 - 手写与印刷体识别:手写文字的识别难度远大于印刷体,因为手写体缺乏规则性。 - 字体和版面多样性:不同的字体和版面设计也会对OCR系统的性能造成影响。 - 影像质量:原始影像的质量直接关系到OCR的准确性,因此,确保高质量的影像输入是必要的。 例子
python人工智能识别字符,即用型 OCR,支持 80 多种语言和所有流行的书写脚本
python人工智能识别字符,即用型 OCR,支持 80 多种语言和所有流行的书写脚本
python人工智能识别字符,即用型 OCR,支持 80 多种语言和所有流行的书写脚本
安装安装使用pip 对于最新的稳定版本: 对于最新的开发版本: 注 1:对于 Windows,请先按照官方说明安装 torch 和 torchvision https://pytorch.org。在 pytorch 网站上,请务必选择您拥有的正确的 CUDA 版本。如果您打算仅在 CPU 模式下运行,请选择CUDA = None。 注2:我们在这里还提供了一个Dockerfile 。 用法- import easyocr
- reader = easyocr.Reader(['ch_sim','en']) # this needs to run only once to load the model into memory
- result = reader.readtext('chinese.jpg')
复制代码 输出将采用列表格式,每个项目分别代表一个边界框、检测到的文本和置信度。
- [([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
- ([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436),
- ([[517, 81], [565, 81], [565, 123], [517, 123]], '东', 0.9989598989486694),
- ([[78, 126], [136, 126], [136, 156], [78, 156]], '315', 0.8125889301300049),
- ([[514, 126], [574, 126], [574, 156], [514, 156]], '309', 0.4971577227115631),
- ([[226, 170], [414, 170], [414, 220], [226, 220]], 'Yuyuan Rd.', 0.8261902332305908),
- ([[79, 173], [125, 173], [125, 213], [79, 213]], 'W', 0.9848111271858215),
- ([[529, 173], [569, 173], [569, 213], [529, 213]], 'E', 0.8405593633651733)]
复制代码注1:['ch_sim','en']是您要阅读的语言列表。您可以同时传递多种语言,但并非所有语言都可以一起使用。英语与所有语言兼容,并且具有共同字符的语言通常彼此兼容。 注 2:除了 filepath 之外chinese.jpg,您还可以将 OpenCV 图像对象(numpy 数组)或图像文件作为字节传递。原始图像的 URL 也是可以接受的。 注3:该行reader = easyocr.Reader(['ch_sim','en'])用于将模型加载到内存中。这需要一些时间,但只需运行一次。 您还可以设置detail=0更简单的输出。 - reader.readtext('chinese.jpg', detail = 0)
复制代码结果: - ['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']
复制代码所选语言的模型权重将自动下载,或者您可以从模型中心手动下载它们并将其放入“~/.EasyOCR/model”文件夹中 如果您没有 GPU,或者您的 GPU 内存不足,您可以通过添加gpu=False. - reader = easyocr.Reader(['ch_sim','en'], gpu=False)
复制代码 在命令行上运行- $ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True
复制代码 训练/使用您自己的模型对于识别模型,请阅读此处。 对于检测模型 (CRAFT),请阅读此处。 实施路线图 - reader = easyocr.Reader(['en'], detection='DB', recognition = 'Transformer')
复制代码 我们的想法是能够将任何最先进的模型插入 EasyOCR。有很多天才试图做出更好的检测/识别模型,但我们并不是想成为天才。我们只是想让公众能够快速免费地接触到他们的作品。(好吧,我们相信大多数天才都希望他们的工作尽可能快/尽可能大地产生积极影响)管道应该如下图所示。灰色插槽是可更换浅蓝色模块的占位符。
python人工智能识别字符,即用型 OCR,支持 80 多种语言和所有流行的书写脚本
OCR的应用 OCR技术的应用极为广泛,包括但不限于: - 文档数字化:将纸质文档转换为电子文档,便于存储和检索。 - 自动数据录入:自动识别和录入表单、发票等数据。 - 辅助阅读:帮助视障人士通过语音合成技术阅读文本。 - 智能交通:车牌识别技术,用于停车场和收费站等。 - 教育辅助:学生和教师可以通过OCR技术快速从书籍或笔记中提取重要信息。 发展历史 OCR技术的研究始于20世纪60至70年代,早期研究主要集中在数字和简单字符的识别上。随着技术的发展,OCR系统的识别范围逐渐扩展到复杂的文字和排版。进入21世纪,随着计算机性能的提升和人工智能技术的发展,OCR技术取得了长足的进步,准确率和应用范围都得到了极大的扩展。 结语 OCR作为一项成熟的技术,正在不断地融入我们的日常生活和工作中,显著提高了信息处理的效率。随着技术的不断进步,未来的OCR技术有望在更多领域发挥其重要作用,进一步推动信息化和智能化的发展。
游客,本帖隐藏的内容需要积分高于 2 才可浏览,您当前积分为 0 提取码下载:
|