2016-04-08 39 views
0

Üç farklı boyutta aynı resim oluşturdum. Ve onlara image0_thumbnail.webp, image0_medium.webp ve image0_original.webp gibi bir isim verdik.Aynı resmin farklı boyutlarını karşılaştırın Javascript

Ve bir kullanıcı bu görüntüleri yükleyecektir. Kullanıcının farklı bir resim seçmesini istemiyorum (belki farklı dizinden).

Bunu yaparlarsa, aynı farklı boyuttaki görüntülerle karşılaştırılır ve bunların hepsinin aynı görüntü olup olmadığını ve hata olup olmadığını kontrol eder.

Bu Compare two Images in JavaScript ile karşılaştım, ancak aynı boyutlu görüntüler içindir. Javascript'te çözüm arıyorum. Lütfen

numaralı telefondan yardım alın.

+0

Lütfen kod uygulamanızı sağlayın, ne yapmaya çalıştın? Sadece bir çözüm istemeyin, çabalarınızı gösterin – FredMaggiowski

+0

Merhaba @FredMaggiowski, Bunu nasıl yapacağımı bilmiyorum. Şu anda [link] 'de verilen aynı uygulamayı kullanıyorum (http://stackoverflow.com/questions/6066111/compare-two-images-in-javascript), ancak bu aynı boyutta görüntüler için. Dosya adları için dize karşılaştırması kazanıldı' Burada çalışıyorum. –

+0

Farklı görüntülerin aynı resimleri olduğunu bilmek için iki farklı görüntüyü karşılaştırmanız gerekiyorsa (yalnızca farklı ölçeklerde): As @Alex Nikulin, en büyük görüntüyü alabileceğinizi ve boyutlarına göre yeniden boyutlandırabileceğinizi önerdi. küçük bir tane ve bu şekilde test edin .. Ölçeklendirilmiş görüntü isimleri üreten kişi iseniz ve aynı ada sahip bir dizi resim aynı önek (örneğin, resimde image0_) olduğunu biliyorsunuzdur. onları kullanmıyor musunuz? – FredMaggiowski

cevap

1

yeniden boyutlandırma aynı boyutta ve daha sonra kontrol edin; Örneğin ) i görüntüleri karşılaştırmak için Resemble.js kullanın bu kütüphane dosyaları, görüntü ve imageData karşılaştırabilirsiniz. Şansınız var, bu lib'in scaleToSameSize bir özelliği var. js

resemble(image1).compareTo(image2).scaleToSameSize().onComplete(function(data){ 
     console.log(data.misMatchPercentage) 
}); 
  1. okuma dosya 1 saniyeden daha azdır.
  2. Dosyaya görüntüye dönüştür ve belleğe yükleme biraz zaman alıyor, başka bir iki saniyedir.
  3. Hiçbir zaman büyük bir zaman aralığını yeniden boyutlandırma (tüm veriler zaten bellekte okunduğundan).
  4. Geniş bir zaman aralığına sahip olmayan resimleri karşılaştırın (tüm veriler belleğe zaten yazıldığından).
+0

Merhaba @Alex Nikulin, nerede yeniden boyutlandırın? Sistem üzerinde veya bazı 3. parti eklentileri/komut dosyaları kullanın ve tarayıcıda yapın? Eğer sistem o zaman ben tarayıcı ben bu tür bir operasyon izin vermez düşünüyorum. Ve eğer her görüntüyü yeniden boyutlandırmak ve sonra onları karşılaştırmak için bazı eklentileri kullanmam gerekiyorsa, bu çözümün verimli olmayacağını düşünüyorum. Yanlışım varsa lütfen düzelt. –

+0

Cevabı güncelledim, bu tam olarak ihtiyacım olan şey –

+0

Tarayıcıda istediğiniz dosya, dosya (dnd veya dosya iletişim kutusu aracılığıyla) okuyabilir, dosya içeriğini değiştirebilir ve sunucuya yükleyebilir, görüntüleri yeniden boyutlandırabilir, efekt gibi instagram veya photoshop.Yazısal meta verileri okuyabilirsiniz. JS günümüzde çok zengin! –

İlgili konular