2

您好我想使用 python 图像库将图像裁剪为网站的特定大小。我有一个问题,这些图像是为了显示人们的脸,所以我需要根据它们自动裁剪。

我知道人脸检测是一个困难的概念,所以我正在考虑使用 face.com API http://developers.face.com/tools/#faces/detect这对于我想做的事情来说很好。

我只是有点不知道如何使用这些数据根据大多数人脸裁剪选择区域。

有人可以帮忙吗?

4

2 回答 2

4

有一个用于 python 的库,它具有智能裁剪的概念,在其他选项中,可以使用面部检测来进行更智能的裁剪。它在后台使用 opencv,但您与它隔离。 https://github.com/globocom/thumbor

于 2012-05-23T10:23:20.897 回答
2

如果您想从图像中删除一些矩形,这就是我可能首先尝试的方法:

  1. (可选)如果图像很大,以面部为中心进行粗略的方形裁剪,尺寸sqrt(2)大于长边(如果是矩形)。最坏的情况(45° 旋转),它仍然会抓住所有重要的东西。
  2. 根据面部方向旋转(类似rough_crop.rotate(math.degrees(math.atan(ydiff/xdiff)), trig 很有趣)
  3. 做最后的作物。如果您进行了初始裁剪,则脸部应该居中,否则您必须将所有旧坐标转换(旋转)到新图像(更多触发!)。
于 2010-10-13T19:33:13.867 回答