自动检测并使用Pretrained工艺网络和OCR识别文本
这个例子展示了如何执行文本识别通过使用一个基于深度学习文本探测器和光学字符识别。在这个示例中,您使用一个pretrained工艺(文本)字符区域意识深入学习网络检测输入图像中的文本区域。您可以修改区域阈值和工艺的亲和力阈值模型本土化整个段落,句子或词。然后,您使用OCR识别发现文本中的字符区域。
读取图像
一个图像读入MATLAB®工作区。
我= imread (“handicapSign.jpg”);
检测文本区域
检测使用的文本区域输入图像detectTextCRAFT
函数。的CharacterThreshold
值是该地区阈值用于本地化中的每个字符图像。的LinkThreshold
值是亲和力阈值定义了分组的分数两个检测文本到一个单独的实例。你可以调整检测结果通过修改区域和亲和力阈值。增加亲和力阈值的值更多,也能进行字符级别的检测。信息关联阈值对检测结果的影响,看到了通过修改亲和力阈值检测字符的例子。
检测每个单词在停车标志,区域阈值的值设置为0.3。亲和力阈值的默认值是0.4。的输出是一组边界盒定位图像中的词的场景。边界框指定检测到文本区域的空间坐标的图像。
bbox = detectTextCRAFT(我CharacterThreshold = 0.3);
画出输出图像通过使用边界框insertShape
函数。
Iout = insertShape(我“矩形”bbox,线宽= 4);
显示输入图像和输出文本检测。
图(位置= [1 1 600 600]);甘氨胆酸ax =;蒙太奇({我;Iout},父= ax);标题(“输入图像|发现文本区域”)
识别文本
的光学字符识别
函数执行最好包含光背景黑色文字的图片。将输入图像转换成一个二进制图像和反它获得一个映像,其中包含光背景黑色文字。
Igray = im2gray(我);Ibinary = imbinarize (Igray);Icomplement = imcomplement (Ibinary);
显示二进制图像和反向二进制图像。
图(位置= [1 1 600 600]);甘氨胆酸ax =;蒙太奇({Ibinary; Icomplement},父= ax);标题(“二进制图像|倒二进制图像”)
识别边界内的文本框使用光学字符识别
函数。设置LayoutAnalysis
名称-值参数“词”这个词区域ROI中提供手动输入。
输出= ocr (Icomplement bbox, LayoutAnalysis =“单词”);
显示识别单词。
recognizedWords =猫(1、输出(:).Words);图imshow(我)变焦(2)showShape (“矩形”= = recognizedWords bbox,标签,颜色“黄色”)
另请参阅
detectTextCRAFT
|光学字符识别
|insertObjectAnnotation
|insertShape
|ocrText
|deblank
|imbinarize