2016-04-08 26 views
0

私は同じイメージの3つの異なるサイズを作成しました。そして、image0_thumbnail.webpimage0_medium.webpimage0_original.webpのような名前を付けました。Javascriptで同じイメージの異なるサイズを比較します

ユーザーがこれらの画像をアップロードします。私は同じ名前の別のイメージを選択したくない(おそらく別のディレクトリから)。

これを行う場合、同じイメージのこれらの異なるサイズを比較し、それらがすべて同じイメージかどうかをチェックし、エラーをそれぞれ表示します。

私はこのCompare two Images in JavaScriptを見つけましたが、同じサイズの画像です。私はJavascriptで解決策を探しています。助けてください

ありがとうございます。

+0

あなたのコード実装を提供してください。何をしようとしましたか?あなたの努力を示すだけで解決策を求めないでください – FredMaggiowski

+0

こんにちは@FredMaggiowski、私はこれを実装する方法を私は知らない。現在、私は[リンク](http://stackoverflow.com/questions/6066111/compare-two-images-in-javascript)で与えられた同じ実装を使用していますが、それは同じサイズのimages.Andとファイル名の文字列比較のため 'ここで働きます。 –

+0

実際に異なるサイズの2つの画像を比較する必要がある場合、それらは同じ画像(異なるスケールのみ)であることを確認してください: @Alex Nikulinは、最大の画像を撮って、小さい方とそれをこのようにテストしてください。 ところで、スケーリングされたイメージ名を生成する人なら、同じ名前のイメージセットが同じプレフィックス(あなたの例では 'image0_')を持っていることが分かりますそれらを使用していない? – FredMaggiowski

答えて

1

たとえば、画像を比較するのにResemble.jsを使用すると、このライブラリはファイル、画像、および画像データを比較できます。 あなたは運があります、このlibにはプロパティscaleToSameSizeがあります。

resemble(image1).compareTo(image2).scaleToSameSize().onComplete(function(data){ 
     console.log(data.misMatchPercentage) 
}); 
  1. JS内のファイルを読み込み、1秒未満です。
  2. ファイルをイメージに変換してメモリに読み込むのに時間がかかりますが、もう2秒です。
  3. サイズ変更に時間がかからない(すべてのデータが既にメモリに読み込まれているため)。
  4. 画像を比較する時間はかかりません(すべてのデータはすでにメモリに読み込まれているため)。
+0

こんにちは@Alex Nikulin、サイズを変更しますか?システム上で、またはいくつかのサードパーティのプラグイン/スクリプトを使用し、ブラウザでそれを行う?システムの場合、私はブラウザが私にこの種の操作を許可しないと思う。そして、すべての画像のサイズを変更して比較するプラグインを使用する必要がある場合、このソリューションは効率的ではないと私は考えています。私が間違っていれば私を修正してください。 –

+0

私は答えを更新しました。これはまさにあなたが必要としているものです –

+0

ブラウザでは、ファイルで何をしたいのか、読み込み(dndやファイルダイアログで)、ファイルの内容を変更してサーバーにアップロードしたり、画像のサイズを変更したりできます。あなたは画像メタデータを読むことができます。 JSの今日は非常に豊富です! –

関連する問題