纽约时报词云肖像

时间:2013-06-13 18:34:38

标签: algorithm

最近,NY时代创建了一个应用程序,使用文字云生成人脸的图像。我正在寻找可以做到这一点的拟合/嵌套算法的一些见解。如果有人有任何信息,我会非常感激。

这是它制作的图像之一: http://blog.jackmorton.com/image/40203148057

如果你想再看谷歌'ny times word cloud portrait'

谢谢!

1 个答案:

答案 0 :(得分:1)

所以,这里推荐几件事。首先,为了得到有效的blob用于单词放置,我建议使用SKimage对你想要执行此操作的图像进行直方图标准化。

就拟合和嵌套算法而言,首先我愿意打赌这实际上并不是通过算法进行的,但假设它是,这就是我接近它的方式,假设你已经拥有了你的语料库和评估渲染单词大小的方法,这对这个问题至关重要。

  1. 计算一些包装效率的总字数。将此值与原始图像的直方图标准化返回的blob中的总面积进行比较。
  2. 减小基本尺寸,直到字数/包装效率低于您可用的总空间。
  3. 以下内容应根据您的风格迭代/递归完成:

    • 取出最大的单词,并将其放置在足以容纳它的blob中,确保单词框的至少两个角位于blob的边缘。还应确保至少x%的单词框在blob内,但该步骤并不重要

    • 使用上一张图片中的白框替换您刚刚放置在图片中的词箱,这意味着不再为新词放置分配

    • 如果在任何时候没有足够大的blob来填充你的最大单词,减少所有单词和框的大小,直到有足够的空间并继续,或者如果你已经放置足够的只是称之为一天。