1

我想制作一个应用程序,它可以从你的 facebook、myspace 或 twitter 帐户中获取你朋友的个人资料照片,并将它们全部制作出来。我已经知道如何使用这些社交网络的 API 来获取图像 url,问题是,我如何将它们“缝合”在一起。

如果您知道如何使用 Zend 或 PEAR 中的特定类来做到这一点,那就太好了,因为这就是正在使用的。

谢谢。

4

3 回答 3

1

我会看看将 Imagemagick 集成到您的解决方案中

http://us3.php.net/imagick

我不使用它,但通过查看示例,它开始像:

<?php
/* Create the big image. */
$im = new Imagick();
$im->newPseudoImage(500, 500, "white");

/* Create the small image. */
$faceImg = new Imagick('face.jpg');


?>

我看不到如何将 $faceImg 覆盖到 $im 上,但 imagemagick 具有该功能。如果 PHP 绑定不够好,您始终可以使用 ImageMagick 的命令行版本。

于 2009-07-30T14:33:30.287 回答
0

我认为图像魔法中有一个命令可以拼接图像

转换 1.jpg 2.jpg -rotate 90 -append 270 final.jpg

我想这就是你要找的

于 2009-08-14T10:15:49.513 回答
0

一个非常基本的方法是获取您的目标图像(您希望合成图像看起来像的图像)并将其切割成更小的图像,形成我们可以称为 T 的图像集。

  1. 找到 T 中每个图像的“平均颜色”。

  2. 拿你的一组朋友图像,我们称它为 F 组,并找到每个图像的“平均颜色”。

  3. 现在将 T 中的每个图像与 F 中的图像匹配,以使颜色之间的距离尽可能小。在这里,您必须考虑是否允许将 F 中的同一图像用于 T 中的多个图像。

一个稍微不那么基本的方法是(使用与上面相同的集合):

  1. 平均过滤 T 和 F 中的每个图像(如模糊它们)

  2. 通过使用最小二乘误差计算将 T 中的每个图像与 F 中的图像匹配。

我能想到的其他更高级的方法是:

  • 使用主成分分析从 F 和 T 中挑选出主成分并匹配它们。
  • 使用任何类型的描述符(SIFT、SURF、...)在目标图像中查找 F 中的图像。这将允许您有一个不均匀的网格,或者根本没有网格,其中 F 中的两个图像很可能最终在结果图像中具有截然不同的大小。

至于框架,我认为这根本不重要。不过,您需要的是一个好的图像库,以使操作图像更容易。

于 2009-07-30T06:58:38.520 回答