文件帮助中心文件
使用光学字符识别识别文本
txt = ocr(i)
TXT = OCR(I,ROI)
[___] = OCR(___,名称,值)
例子
文本= OCR(一世)返回一个ocrtext.包含来自输入图像的光学字符识别信息的对象,一世。该对象包含识别的文本,文本位置和指示识别结果的置信度的度量。
文本= OCR(一世)
文本
一世
ocrtext.
文本= OCR(一世那ROI.)识别中的文本一世在一个或多个矩形区域内。这个ROI.输入包含一个m-By-4矩阵,具有m感兴趣的地区。
文本= OCR(一世那ROI.)
ROI.
[___] = OCR(___那名称,价值)使用一个或多个指定的其他选项名称,价值使用前面的任何语法对参数。
[___] = OCR(___那名称,价值)
名称,价值
全部收缩
BusinessCard = imread('businesscard.png');OCRResults = OCR(BusinessCard)
ocrResults=ocrText,带属性:Text:'MathWorks®…'字符边界框:[103x4双精度]字符信任:[103x1单精度]单词:{16x1单元格}单词边界框:[16x4双精度]单词信任:[16x1单精度]
识别为= ocrresults.text;数字;imshow(商务函);文字(600,150,识别,“背景色”,[1 1 1]);
读图像。
I=imread('handcapsign.jpg');
在I内定义一个或多个矩形的感兴趣区域。
投资回报率=[360 118 384 560];
您还可以使用IMRECT选择使用鼠标的区域:图;imshow(i);ROI = ROUND(GetPosition(IMRECT))
ocr结果=ocr(I,roi);
将识别的文本插入原始图像
IOCR = INSERTTEXT(I,ROI(1:2),OCRRESULTS.TEXT,'achorpoint'那......'右特那“字体大小”,16);数字;imshow(Iocr);
IOCR = InsertObjectAnnotation(BusinessCard,'矩形'那......Ocrresults.wordboundingboxes,......OCRRESULTS.WORDCONFIDENCES);数字;imshow(Iocr);
BusinessCard = imread('businesscard.png'); ocrResults=ocr(名片);bboxes=定位文本(OCR结果,'mathworks'那'Ignorecase', 真的);Iocr = InsertShape(BusinessCard,'citntrectangle',bboxes);数字;imshow(Iocr);
输入图像,在中指定m-借-N-By-3 TrueColor,m-借-N二维灰度或二进制格式。输入图像必须是真实的非解析值。在识别过程之前,该函数将truecolor或灰度输入图像转换为二进制图像。它使用大津的阈值技术进行转换。为获得最佳ocr结果,输入图像中小写“x”或类似字符的高度必须大于20像素。从水平轴或垂直轴上,删除任何大于+/-10度的文本旋转,以改善识别结果。
数据类型:单身的|双重的|int16|uint8.|uint16|逻辑
单身的
双重的
int16
uint8.
uint16
逻辑
一个或多个感兴趣的矩形区域,指定为m-By-4元素矩阵。每一行,m,指定输入图像中的感兴趣区域,作为四元素向量[Xy宽度高度]。矢量指定左上角位置[Xy],以及感兴趣的矩形区域的大小[宽度高度],以像素为单位。每个矩形必须完全包含在输入图像中,一世. 在识别过程之前,该函数使用大津阈值将感兴趣的真彩色和灰度输入区域转换为二值区域。该函数返回矩形区域中识别为对象数组的文本。
指定可选的逗号分离对名称,价值论据。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数名称1,值1,…,名称,值。
名称
价值
名称1,值1,…,名称,值
OCR(I,'TextLayout','块')
“文本布局”
'汽车'
'堵塞'
'线'
'单词'
输入文本布局,指定为逗号分隔对,由'文本布局'以及以下之一:
文本布局
'特点'
使用自动布局分析从包含特定格式的扫描文档中识别文本,例如双列。此设置保留返回的文本中的阅读顺序。如果输入图像包含一些文本或文本位于杂乱的场景中,您可能会得到较差的结果。如果您获得糟糕的OCR结果,请尝试与图像中的文本匹配的不同布局。如果文本位于杂乱的场景中,除了尝试不同的布局之外,尝试在图像中的文本周围指定ROI。
'语'
'英语'
'日本人'
要识别的语言,指定为逗号分隔的配对组成语'和字符向量'英语'那'日本人',或字符向量的单元格数组。您还可以安装安装OCR语言数据文件包装用于其他语言或添加自定义语言。指定多种语言可以同时识别所有所选语言。但是,选择多种语言可能会降低准确性并增加执行OCR所需的时间。
语
指定中包含的任何其他语言安装OCR语言数据文件包,使用语言字符向量与内置语言相同。您无需指定路径。
TXT = OCR(IMG,'语言','芬兰');
支持包列表OCR金宝app语言
'afrikaans'
'阿尔巴尼亚人'
“古希腊语”
“阿拉伯语”
“阿塞拜疆”
“巴斯克”
'白俄罗斯人'
'孟加拉'
“保加利亚人”
'加泰罗尼亚人'
“切诺基”
'简体中文'
“中国传统”
“克罗地亚人”
'捷克'
'丹麦语'
“荷兰语”
'世界语'
'esperantoalternative'
'爱沙尼亚'
'芬兰'
'Frankish'
'法语'
'加利西亚人'
'德语'
'希腊语'
'希伯来'
“印地语”
'匈牙利'
'冰岛的'
“印度尼西亚语”
'意大利'
'italianold'
'kannada'
“韩语”
'拉脱维亚'
“立陶宛人”
“马其顿人”
'马来语'
'malayalam'
'马耳他'
“数学方程式”
'中古英语'
'中束'
'挪威'
“波兰人”
'葡萄牙语'
'罗马尼亚'
'俄语'
'塞尔维亚莱州'
'斯洛伐克'
'斯洛文尼亚'
'西班牙语'
'西班牙人'
'斯瓦希里语'
'瑞典'
“塔加洛格”
'泰米尔'
'Telugu'
'泰国'
'土耳其'
'乌克兰'
要使用自己的自定义语言,请将培训的数据文件的路径指定为语言字符向量。您必须以格式命名文件,<语>.训练有地。该文件必须位于名为'的文件夹中Tessdata.'。例如:
训练有地
Tessdata.
txt = ocr(img,'语言','path / to / tessdata / eng.traineddata');
TXT = OCR(IMG,'语言',... {'PATH / TO / TESSDATA / ENG.TRAREDATA',...'PATH / TO / TESSDATA / JPN.TRAINTDATA'});
路径/到/到数据
TXT = OCR(IMG,'语言',... {'PATH / ONE / TESSDATA / ENG.TROREDDATA',...'路径/两个/ TESSDATA / JPN.TRAINTDATA'});
OCR.
tesseract-ocr.
用于生成的部署目标MATLAB®编码器™:生成的ocr可执行文件和语言数据文件夹必须位于同一位置。这个Tessdata.文件夹必须命名Tessdata.:
英语:C:/path/tessdata/eng.traineddata
C:/path/tessdata/eng.traineddata
对于日语:C:/path/tessdata/jpn.trainedData.
C:/path/tessdata/jpn.trainedData.
对于自定义数据文件:C:/path/tessdata/customlang.trountData.
C:/path/tessdata/customlang.trountData.
C:/path/ocr_app.exe.
您可以复制英语和日本培训的数据文件:
fullfile(matlabroot,'toolbox','vision','disionutition','tessdata');
'字符集'
''
字符子集,指定为逗号分隔的配对组成'字符集'和一个字符矢量。默认情况下,字符集设置为空字符向量,''。空向量设置要搜索所指定的语言的所有字符的功能语财产。您可以将此属性设置为较小的已知字符,以限制分类过程。
字符集
这OCR.函数从列表中选择最佳匹配字符集. 使用关于输入图像中字符的可推断知识有助于提高文本识别的准确性。例如,如果设置字符集对于所有数字,'0123456789',该功能尝试将每个字符匹配仅为数字。在这种情况下,非数字字符可能错误地被识别为数字。
'0123456789'
认可的文本和指标,作为一个返回ocrtext.目的。该对象包含识别的文本,输入图像中识别的文本的位置,以及指示结果置信度的指标。置信度值范围是[01]并且表示百分比概率。指定时m-by-4ROI.,函数返回ocrtext.作为m-by-1阵列ocrtext.对象。
如果你的OCR.结果不是您所期望的,尝试以下选项中的一个或多个:
将图像2-to-4倍增原始尺寸。
如果图像中的字符靠得太近或边缘接触,请使用形态学来缩小字符。使用形态学细化字符以分离字符。
使用二值化检查非均匀的照明问题。使用曲折和灌输函数二向化图像。如果在二值化结果中不可见字符,则表示潜在的非均匀照明问题。尝试顶帽,使用imtophat功能,或处理消除不均匀照明的其他技术。
曲折
灌输
imtophat
使用感兴趣的地区ROI.选项要隔离文本。指定ROI.手动或使用文本检测。
如果您的图像看起来像一个包含单词的自然场景,如街景,而不是扫描文档,请尝试使用ROI输入。此外,您可以设置文本布局财产'堵塞'要么'单词'。
[1] R. Smith。Tesseract OCR引擎概述,第九届文件分析与认可国际会议的诉讼程序(ICDAR 2007)第2卷(2007),第629-633号。
[2]史密斯,R.,D. Antonova和D. Lee。适应TESERACT开源OCR引擎,用于多语言OCR。多语种OCR国际讲习班的载体(2009)。
[3] R. Smith。通过TAB停止检测混合页面布局分析. 第十届国际文献分析与识别会议论文集。2009
使用说明和限制:
“文本布局”那'语', 和'字符集'必须是编译时间常量。
此函数的生成代码使用预编译的特定于平台共享库。
曲折|灌输|imtophat|插图|OCR培训师|ocrtext.
插图
您拥有此示例的修改版本。是否要用编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系当地办事处