2009-07-29 25 views
1

facebook、myspace、またはtwitterアカウントからあなたの友達のプロフィール写真を取得し、それらの画像をすべて作成するアプリを作りたいと思います。私はすでに画像URLを取得するために、これらのソーシャルネットワークのAPIを使用する方法を知っています、質問は、どうすれば一緒に "ステッチ"です。他の画像をつなぎ合わせて大きな画像を作成する

ZendやPEARの特定のクラスを使ってこれを行う方法がわかっているのであれば、それは何を使用しているのかという点で素晴らしいでしょう。

ありがとうございました。

答えて

0

非常に基本的なアプローチは、あなたの目標画像

    T.を、私たちが呼び出すことができる画像セットに小さい画像にそれを切り取っ(あなたの合成画像が見えるようにしたい画像を)取ることです
  1. Tの各画像の「平均色」を見つけます。

  2. あなたの友人画像のセットを取って、そのセットFを呼び出して、それらのそれぞれの「平均色」を見つけましょう。

  3. ここで、色の間隔ができるだけ小さくなるように、Tの各画像とFの画像を一致させます。ここであなたはT.

Aわずかに少なく、基本的なアプローチは、(上記と同じセットを使用)になります内の複数の画像に使用するFで同じ画像を許可するかどうかを検討する必要があります:

  1. 平均フィルタ(それらのぼかしのように)T及びFの各画像

  2. 一致最小二乗誤差計算を使用してFの画像とT内の各画像。多くの数学の重い

他のより高度な私は考えることができるのアプローチが、は以下のとおりです。FおよびTから主成分を選び出し、それらを一致させるために主成分分析を使用して

  • 任意の種類の記述子(SIFT、SURF、...)を使用して、ターゲットイメージ内のF内のイメージを検索します。これにより、不均一なグリッドを持つことができます。つまり、Fの2つの画像が結果として得られる画像のサイズが大きく異なる場合があります。

フレームワークについては、まったく問題はないと思います。しかし、あなたが必要なのは、画像を操作しやすくするための良い画像ライブラリです。

+0

これは良い情報ですが、私は質問者が大きな画像を一致させることを求めているとは思わない - ちょうど他のものをつなぎ合わせて大きな画像を作成するだけです。 –

+0

@ルーフランコ:ああ、私は今それを参照してください...私の心はもっと難しいものに設定されていると思う:) –

+0

はい@ルーフランコ、それは何をしようとしている、私の質問を明確にしてくれてありがとう:) – SoftwareDev

1

私はあなたのソリューション私はそれを使用していないが、例を見ることで、それは次のように始める

http://us3.php.net/imagick

への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のコマンドラインバージョンを使用することができます。

+0

ありがとう、私が参照してくださいあなたが言っていること、大きなイメージを作り、他のものを上に置くこと。私はこのライブラリについて聞いたことがありますが、それを使用していないので、あなたはそれを言いますので、試してみましょう。 – SoftwareDev

0

私は、これはあなたが

探しているものだと思います1.JPG 2.JPG -rotate 90 -append 270 final.jpg

を変換する画像

をステッチする画像魔術でコマンドがあると思います

関連する問題