1

100万枚の画像の指紋/画像を保存することを検討しています。これにより、アップロード時に、データベース内の他の一致と比較して画像がどれだけ類似しているかの割合が撮影されます。http://www.tineye.com/およびhttp://images.google.com/に似て いますが、私自身の個人用サイト用です。送信プロセスを使用して画像をtineyeに送信したくありません。

どのような情報を保存する必要がありますか?

どのように保存すればよいですか?

私がすでに望んでいることを実行する優れたPHPライブラリはありますか?

PHPのみにしておきたいのですが、アプリケーションが処理能力をアウトソーシングする必要があるかもしれません。そうすれば、PHPが出力を処理できるようになります。私はDebianLinuxを実行しています。

ストレージについては、MySQLに情報だけを保存するつもりでしたが、100万枚の画像を考えると非効率的かもしれないと思います。

4

4 に答える 4

1

GD、ImageMagicを使用すると思いますが、さまざまなAPIを使用するとよいでしょう。提案しているのはあなただけなので、APIの問題はそれほど重要ではありません。APIはより大きなアプリ向けです。

Uploaded Image
Image information submits to Database and Image is deleted from Server and Stored in the CDN
Image information to database

Size
Dimensions
Timestamp
Uploader
Type of Image
Image Category
Image Tags
Image Description

次に、処理タスクをcronして、画像の色の大部分について画像をスキャンできます。画像の形。テキスト付きの画像の大部分。どのようなテキスト。次に、これらのIDを数値として使用してライブラリと一致するタグを作成できます。これがパターンになります。同じ画像と一致するパターンをスキャンすることができます。さらに深く進むことができますが、Google/IBMに反対することもできます。

于 2012-12-17T16:36:18.580 に答える
1

私はこのPHPソリューションを選ぶことにしました:

http://www.pureftpd.org/project/libpuzzle

少し古く、トリミングされた画像ではうまく機能しませんでしたが、小さな編集、色の変更、一部のサイズ変更を識別できました。また、サンプルのPHPコードが付属しています(バグはありますが)

于 2012-12-19T22:19:51.243 に答える
0

このような分析は、次のような複雑なアルゴリズムを使用して行われます。

http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

これは著作権で保護されていますが、ネット上で入手可能なソースコードによる実装があります。

于 2012-12-17T16:34:10.873 に答える
0

それがあなたが探している「知覚的ハッシュ」であるなら、あなたはまた見ることができます:

http://phash.org/

それらはphp-extensionも提供します。

于 2013-11-27T17:41:38.217 に答える