Image processing 通过将其他图像拼接在一起制作更大的图像

Image processing 通过将其他图像拼接在一起制作更大的图像,image-processing,image-manipulation,social-networking,Image Processing,Image Manipulation,Social Networking,我想制作一个应用程序,从你的facebook、myspace或twitter帐户中获取你朋友的个人资料图片,并将它们全部制作成一张图片。我已经知道如何使用这些社交网络的API来获取图像url,问题是,如何将它们“缝合”在一起 如果您知道如何使用Zend或PEAR中的特定类来实现这一点,那将是非常好的,因为这就是我所使用的 谢谢。一种非常基本的方法是将你的目标图像(你希望合成图像看起来像的图像)剪切成更小的图像,我们称之为T 在T中找到每个图像的“平均颜色” 拿你的朋友图片集,我们称之为F集,然后

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

如果您知道如何使用Zend或PEAR中的特定类来实现这一点,那将是非常好的,因为这就是我所使用的

谢谢。

一种非常基本的方法是将你的目标图像(你希望合成图像看起来像的图像)剪切成更小的图像,我们称之为T

  • 在T中找到每个图像的“平均颜色”

  • 拿你的朋友图片集,我们称之为F集,然后找出每一张图片的“平均颜色”

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

  • 中的一个以上图像。 一种稍微不太基本的方法是(使用与上述相同的集合):

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

  • 使用最小二乘误差计算将T中的每个图像与F中的一个图像进行匹配

  • 我能想到的其他更高级的方法,但比数学重得多的是:

    • 使用主成分分析从F和T中提取主成分并进行匹配
    • 使用任何类型的描述符(SIFT、SURF等)在目标图像中的F中查找图像。这将允许您有一个不均匀的网格,或者实际上根本没有网格,其中F中的两个图像很可能最终在生成的图像中具有大不相同的大小
    至于框架,我认为这一点都不重要。不过,您需要的是一个好的图像库,以便更轻松地操作图像。

    一个非常基本的方法是将目标图像(您希望合成图像看起来像的图像)剪切成更小的图像,然后将其剪切成一个图像集,我们可以称之为T

  • 在T中找到每个图像的“平均颜色”

  • 拿你的朋友图片集,我们称之为F集,然后找出每一张图片的“平均颜色”

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

  • 中的一个以上图像。 一种稍微不太基本的方法是(使用与上述相同的集合):

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

  • 使用最小二乘误差计算将T中的每个图像与F中的一个图像进行匹配

  • 我能想到的其他更高级的方法,但比数学重得多的是:

    • 使用主成分分析从F和T中提取主成分并进行匹配
    • 使用任何类型的描述符(SIFT、SURF等)在目标图像中的F中查找图像。这将允许您有一个不均匀的网格,或者实际上根本没有网格,其中F中的两个图像很可能最终在生成的图像中具有大不相同的大小

    至于框架,我认为这一点都不重要。不过,您需要的是一个好的图像库,以便更轻松地操作图像。

    我想看看如何将Imagemagick集成到您的解决方案中

    我不使用它,但通过查看示例,它开始时是这样的:

    <?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。

    我想看看如何将ImageMagick集成到您的解决方案中

    我不使用它,但通过查看示例,它开始时是这样的:

    <?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。

    我认为ImageMagick中有一个用于缝合图像的命令

    转换1.jpg 2.jpg-旋转90-追加270 final.jpg


    我想这就是你要找的

    我想在ImageMagick中有一个命令来缝合图像

    转换1.jpg 2.jpg-旋转90-追加270 final.jpg


    我想这就是你要找的

    这是一个很好的信息,但我不认为提问者问的是匹配一个大图像——只是通过将其他图像拼接在一起来制作一个更大的图像。@Lou Franco:哎哟,我现在明白了。。。我想我的注意力集中在更难的事情上:)是的@Lou Franco,这就是我想做的,谢谢你澄清我的问题:)这是一个好信息,但我不认为提问者问的是匹配一个大图像——只是通过将其他图像拼接在一起来制作一个更大的图像。@Lou Franco:哎哟,我现在明白了。。。我想我的心思集中在更困难的事情上:)是的@Lou Franco,这就是我想做的,谢谢你澄清我的问题:)谢谢,我明白你的意思,树立一个大形象,让其他人站在首位。我听说过这个图书馆,但还没用过,既然你提到了,我就试试看。谢谢,我明白你的意思,树立一个大形象,把其他的放在首位。我听说过这个图书馆,但没用过,既然你提到了,我就试试看。