TextRecognize[image]
识别 image 中的文字并以字符串形式返回.
TextRecognize[image,level]
返回指定结构层的字符串列表.
TextRecognize[image,level,prop]
返回给定层的文本的 prop.
TextRecognize[video,…]
识别 video 各帧中的文字.
TextRecognize
TextRecognize[image]
识别 image 中的文字并以字符串形式返回.
TextRecognize[image,level]
返回指定结构层的字符串列表.
TextRecognize[image,level,prop]
返回给定层的文本的 prop.
TextRecognize[video,…]
识别 video 各帧中的文字.
更多信息和选项
- 文字识别,也称为 OCR,是检测图像中的文字并将其转换为文本的过程. 它通常用于从扫描的书籍、文档图片等中提取文字.
- TextRecognize 可用于任意灰度和多通道的图像,根据每个像素的强度值进行运算.
- TextRecognize[{image1,image2,…}] 返回对所有 imagei 的识别.
- 默认情况下,对于整幅图像,识别文本以单个字符串形式返回. 识别的文本可以分成不同的层次.
- 在 level 中指定的结构元素包括:
-
Automatic 以单个字符串的形式表示在整幅图像中找到的文本(默认) "Block" 每区文本的结果列表 "Line" 每行的结果列表 "Word" 每个单词的结果列表 "Character" 每个字符的结果列表 - TextRecognize[image,level,prop] 计算给定 level 的 prop 并以列表 {val1,val2,…} 的形式返回结果.
- prop 的可能设置包括:
-
"BoundingBox" 以 Rectangle 形式表示的文本周围的绑定框 "Confidence" 识别出的文本的强度 "Image" 包含识别文本的剪裁图像 "Text" 识别的文本(默认) {prop1,prop2,…} 属性列表 - 可以指定以下选项:
-
Language $Language 识别的语言 Masking All 包含文本的感兴趣区域 Method Automatic 使用的方法 RecognitionPrior Automatic 每个标记区域内关于文本的假设 - TextRecognize 接受一个 Language 选项. 默认情况下,使用 Language:>$Language. Language->{lang1,lang2,…} 可用于执行多种语言识别.
- 可以使用下列 Language 设置:
-
- 默认情况下,返回在图像中找到的文本. 使用 Masking 指定感兴趣的区域. 可能的设置包括:
-
All 所有图像 mask 单个感兴趣的区域 {mask1,mask2,…} 多个感兴趣的区域 - Method 可取的设置(指定文档的类型)包括:
-
Automatic 自动选择方法 "Document" 适宜于扫描文档中的检测 "NaturalScene" 适宜于自然场景图像中的检测 - Method 可取的设置(指定 engine)包括:
-
Automatic 自动选择方法 "EasyOCR" 适宜于扫描的文档 "OperatingSystem" 使用操作系统(仅限于 macOS) "Tesseract" 适宜于扫描的文档 - RecognitionPrior 假设呈现在整幅图像或每个标记区域中的文本. 可能设置包括:
-
Automatic 自动结构识别(默认) "Column" 文本的单列 "Line" 文本的单行 "Word" 单个单词 "Character" 单个字符 "SparseText" 无特殊结构中的文本 - TextRecognize 使用机器学习. 其包含的方法、训练集和偏差会在不同的 Wolfram 语言中改变并并产生不同的结果.
- TextRecognize 可能下载存储在 $LocalBase 本地对象存储库,可以使用 LocalObjects[] 列出,使用 ResourceRemove 去除.
范例
打开所有单元 关闭所有单元基本范例 (2)
范围 (14)
基本用途 (5)
TextRecognize[[image]]TextRecognize[[image]]TextRecognize[[image]]i = [image];TextRecognize[i]//Pane[...]&TextRecognize[{[image], [image]}]层次 (5)
TextRecognize[[image]]TextRecognize[[image], "Block"]//Column[...]&TextRecognize[[image], "Line"]//Column[...]&TextRecognize[[image], "Word"]TextRecognize[[image], "Character"]属性 (4)
i = [image];TextRecognize[i]TextRecognize[i, "BoundingBox"]TextRecognize[i, "Confidence"]TextRecognize[i, "Image"]Framed /@ TextRecognize[i, "Word", "Image"]TextRecognize[[image], "Word", {"Text", "Confidence"}]//DatasetFramed /@ TextRecognize[[image], "Line", "Image"]TextRecognize[[image], "Word", {"Text", "Confidence", "BoundingBox", "Image"}]//Dataset选项 (11)
Language (4)
默认的识别语言是 $Language:
$LanguageTextRecognize[[image]]TextRecognize[[image], Language -> "German"]TextRecognize[[image], Language -> Entity["Language", "German"]]TextRecognize[[image], Language -> {"German", "Russian", "Spanish"}]Masking (1)
默认情况下,使用 Masking->All,会识别整幅图像中的文本:
i = [image];TextRecognize[i]TextRecognize[i, Masking -> Rectangle[{60, 200}, {145, 240}]]TextRecognize[i, Masking -> [image]]TextRecognize[i, Masking -> [image]]TextRecognize[i, Masking -> {[image], [image]}]Method (3)
RecognitionPrior (3)
TextRecognize[[image], "Character", RecognitionPrior -> "Character"]TextRecognize[[image], "Character"]没有正确的 RecognitionPrior,可能无法识别文本:
TextRecognize[[image]]TextRecognize[[image], RecognitionPrior -> "Character"]TextRecognize[[image], RecognitionPrior -> "Block"]StringReplace[%, "
" -> "
"]应用 (7)
TextRecognize[[image]]WordFrequencyData[TextWords[%]]WordCloud[%, ScalingFunctions -> (1 / #&)]用 LanguageIdentify 鉴定识别出的文字的语种:
img = [image];
TextRecognize[img]lang = LanguageIdentify[%]TextRecognize[img, Language -> lang]text = TextRecognize[[image]];words = StringSplit[#, Except[WordCharacter]]&@text;contentList = StringSplit[text, {" " -> " ", "
" -> " ", x : PunctuationCharacter :> x}];findDefinition[s_String] :=
Module[{word, defs},
word = DictionaryLookup[s, IgnoreCase -> True];
If[word === {}, Return[Missing["NotAvailable"]]];
defs = WordData[Pluralize[First[word], 1], "Definitions"];
If[Head[defs] === WordData, Return[Missing["NotAvailable"]]];
Grid[Transpose[{defs[[All, 1, 2]], defs[[All, 2]]}], Alignment -> Left]
]def = Normal@DeleteMissing[AssociationMap[Tooltip[#, findDefinition[#]]&, words], 1, 2];TextCell[Row[contentList /. def], FontSize -> 11]image = [image];mask = [image];TextRecognize[image, "Character", Masking -> mask, RecognitionPrior -> "Character"]res = TextRecognize[image, "Character", {"Text", "BoundingBox", "Confidence"}, Masking -> mask, RecognitionPrior -> "Character"];HighlightImage[image, MapThread[Tooltip[#1, {#2, #3}]&, {res[[All, 2]], res[[All, 1]], res[[All, 3]]}]]i = [image];res = TextRecognize[i, "Line", {"Text", "BoundingBox"}]HighlightImage[i, {"Boundary", MapThread[Tooltip[#1, #2]&, {res[[All, 2]], res[[All, 1]]}]}]image = [image];result = TextRecognize[image, "Word", {"Text", "BoundingBox"}]res2 = Normal[GroupBy[result, (#[[1]]&) -> (#[[2]]&)]][[All, 2]]HighlightImage[image, Riffle[res2, RandomColor[Length[res2] - 1]]]SpeechSynthesize[TextRecognize[[image]]]//NormalTextRecognize[[image]]//Speak属性和关系 (2)
TextRecognize[[image], Language -> "Russian"]TextRecognize[[image]]TextRecognize[[image]]//StringReplace[#, "
" -> " "]&TextRecognize[[image]]//StringReplace[#, "
" -> "
"]&可能存在的问题 (8)
i = ImageRotate[[image], 0.15, Background -> White]TextRecognize[i]TextRecognize[[image]]Closing[LocalAdaptiveBinarize[[image], 1], 1]TextRecognize[%]TextRecognize[[image]]TextRecognize[ImageResize[[image], Scaled[3.5]]]在识别格式化的数字时,空格可能会导致光学字符识别 (OCR) 错误:
TextRecognize[[image]]img = [image];TextRecognize[img]adjusted = ImageResize[ColorNegate[ImageRecolor[img, ColorsNear[Red, .5] -> White]], Scaled[3]]TextRecognize[adjusted]img = [image];TextRecognize[img]DeleteSmallComponents@Binarize@RemoveAlphaChannel[RemoveBackground[img], Black]TextRecognize[%]i = [image];TextRecognize[i]TextRecognize[i, RecognitionPrior -> "Word"]i = [image];TextRecognize[i, "Line"]TextRecognize[i, "Line", Masking -> [image]]相关链接
文本
Wolfram Research (2010),TextRecognize,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TextRecognize.html (更新于 2025 年).
CMS
Wolfram 语言. 2010. "TextRecognize." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2025. https://reference.wolfram.com/language/ref/TextRecognize.html.
APA
Wolfram 语言. (2010). TextRecognize. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TextRecognize.html 年
BibTeX
@misc{reference.wolfram_2026_textrecognize, author="Wolfram Research", title="{TextRecognize}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/TextRecognize.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_textrecognize, organization={Wolfram Research}, title={TextRecognize}, year={2025}, url={https://reference.wolfram.com/language/ref/TextRecognize.html}, note=[Accessed: 03-November-2026]}