多语言展示
当前在线:193今日阅读:91今日分享:37

用Mathematica提取图片中的文字

当我们遇到一个图片,想把上面的文字写下来,往往只能一个字一个字地写下来;如果图片上的文字很多,那么,提取文字就会很麻烦!当遇到代码是截图的形式,就可以直接提取文本,不必重新输入。        下面,介绍一下用Mathematica提取文字的方法。
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

让我们在这里写下“Hello土地公公”,然后截图,看看Mathematica能不能把文字提取出来。        截图会经过处理,变为360*360像素。        要用到的命令函数是TextRecognize。代码是:TextRecognize[图片]        图片就用下面的截图。运行结果不理想,如图二。

2

再用Mathematica把图片放大到900*900像素,如下面图一。        然后用运行结果里面的图片代替原先的图片,执行代码,结果是下面图二:只识别除了英文单词“Hello”和“Mathematica”,而“TextRecognize”错了两个字母。        看来,如果保证图片质量的话,Mathematica是能够提取英文的,当然也可以提取代码

3

用一张清晰的图片,看能不能把图片里的Mathematica代码提取出来。经过大约两秒钟,得出如下结果:Export['C:\\Users\\Administrator\\Desktop\\xz.gif',Table[ImageResize[u,{386, 38e}] ,{u, Import['C:\\Users\\Administrator\\Desktop\\z.gif']}], 'DisplayDurations' Q0.06]        只错了两个地方(看图),这样,只要稍微修改一下,就可以称为原先的代码。

4

那么,怎么能把汉字从图片里面提取出来呢?这一点是需要专门指定语言的。Mathematica能提取的语言包括英语、汉语、阿尔巴尼亚语等等,详细情况鉴下图。可以看到“Chinese”,这说明可以提取汉语。        下面第二幅图片上面有汉字,看看能不能提取出来:TextRecognize[图片, Language -> 'Chinese']        运行结果如下图三,有几个误区。看来,Mathematica并不能完全识别各种情形。

5

上面的“Chinese”也提出来了,说明Mathematica对于英文是默认的。如果是多语种呢?如下图,有汉语、英语、韩语、德语、阿拉伯语。运行结果是:开开心心地活着Living happi|y埔号垂 口干音 含叉0] 爸畔G|ück|ich zu Leben$ã\\.|.4u19 U§'|〓u二|'        在指定“Chinese”的情况下,英语和德语几乎不受影响,但是韩语和阿拉伯语就毫无头绪了。        留一个问题:怎么用Mathematica同时提取图片里的许多语种的文字?

注意事项
1

Mathematica默认的语言是英语,但也能识别德语等语种。

2

Mathematica提取汉字,需要专门指定为汉语。

3

留一个问题:怎么用Mathematica同时提取图片里的许多语种的文字?

推荐信息