Javascript比较图像
我需要将一个图像与不同的图像进行比较,如果它们相等,我需要做一些事情(我不需要任何图像识别,我只需要比较两个100%完全相等的图像),通过搜索stackoverflow,我得出结论,我的最佳选择是将我的图像编码为base64,然后将字符串与另一个字符串进行比较 我需要将一个图像与另一个图像进行比较,然后是另一个图像,然后是另一个图像,以此类推,每当我找到一个完美匹配的图像时就停止。我的计划是将每64个字符串存储在一个数组中,然后比较每个项目的目标图像,这个计划很好,理论上,但是让我担心的是,字符串的长度是852754个字符,这意味着它将非常非常缓慢。有没有其他方法可以做到这一点Javascript比较图像,javascript,jquery,image,google-chrome,Javascript,Jquery,Image,Google Chrome,我需要将一个图像与不同的图像进行比较,如果它们相等,我需要做一些事情(我不需要任何图像识别,我只需要比较两个100%完全相等的图像),通过搜索stackoverflow,我得出结论,我的最佳选择是将我的图像编码为base64,然后将字符串与另一个字符串进行比较 我需要将一个图像与另一个图像进行比较,然后是另一个图像,然后是另一个图像,以此类推,每当我找到一个完美匹配的图像时就停止。我的计划是将每64个字符串存储在一个数组中,然后比较每个项目的目标图像,这个计划很好,理论上,但是让我担心的是,字符
我甚至愿意将图像保存在我的计算机中,如果这有什么帮助的话,大约有200或300个图像,没有那么多。这可以通过使用类似于。您还可以设想使用校验和(类似于a),这应该更快
使用您最喜欢的方法生成散列,在生成一对散列后,只需比较散列(这会快得多)。这就是为什么我们有单向散列算法!您应该找到一个库来散列图像数据(例如md5)。您可以轻松存储这些数据并快速进行比较
当您有一个md5匹配项时,您可以比较数据以确定(有可能但不太可能存在导致错误匹配的冲突) 如果我很好地理解了你的问题:你可以在
var myimage=new Image()
元素上使用getBase64Image()
方法,这对于一次近似很好。当然,图像可以是像素到像素相同的,但仍然有不同的散列,甚至不同的长度。