本文介绍一些在线字体识别工具,并且给出一些提高字体识别准确率的方法。

英文字体识别

由于英文字符较少,所以英文字体远多于中文字体,而且很多字体之间的差异非常细微, 所以查找英文字体比中文字体要困难。有两个网站可以试试,但是效果不敢恭维,这两个 网站分别是 WhatTheFontWhat Font is.

直接把包含英文字符的图片上传到网站,按照提示操作即可。包含字符的图片要尽可能大 一些,识别的效果才会比较准确。

中文字体识别

有两个不错的字体在线识别网站,一个是 likefont,另外 一个是求字体

两个网站使用方法类似,个人感觉 likefont 的效果更好。直接将包含字体的图片上传到 网站,网站将会智能识别图片中包含的字符,如果智能识别的结果不理想,可以使用下面 的“手动拼字”模式。在“手动拼字”模式下,一个字符可能被分成了多个图像,拖动图片把 属于一个字的图像合并,直到拼成一个字,为了识别准确,可以多拼几个字,然后再所拼 的字下方填入该字符图像对应的真实字符(只能填写一个字符,注意简体 or 繁体)。

然后网站会根据字符的图像,从网站的数据库中找出与所给的字体图像相似的字体,并且 会给出相似度的评分(见下图),非常不错。

处理背景前景区分度不高的图片

这两个网站对输入的图片都有要求,如果字体的颜色和背景的颜色不易区分,或者背景的 颜色太过嘈杂,字体识别将无法工作,如果输入一张不符合要求的图片,求字体网站直接 提示图片不符合要求,likefont 则没有任何反应。例如对于下面的图片,

字体识别将不能工作,我们需要将背景和前景(即实际的字符)分得更清楚。

解决办法

可以使用这个网站的图像分割技术,把图像的前景背 景分割开来,从而获得更加清晰的字体图像。

首先输入一张图片,然后直接用鼠标在前景上点击,标记一些前景点1,为了标注准确 ,可以更改 pen size。

标记完成之后,点击 run,算法将会计算前景与背景,生成二值化的黑白分割图像。

点击 “Marker” 会显示之前标记的 marker,点击 “Segmentation result”,显示的是分割 以后的结果,如下图所示:

最后把分割后的图像输入字体识别网站,能够得到比较好的字体识别结果:

参考


  1. 这一步很重要,分割算法将利用标记的前景点来寻找所有前景像素,理论上标记的点越多,标记的越准确,分割的结果越好。