javascript实现比较相似图片算法 作者: https://j - Assbbs

javascript实现比较相似图片算法 作者: https://js8.in/2013/04/02/javascript%E5%AE%9E%E7%8E%B0%E6%AF%94%E8%BE%83%E7%9B%B8%E4%BC%BC%E5%9B%BE%E7%89%87%E7%AE%97%E6%B3%95/ 昨天看了阮一峰老师的文章:《 相似图片搜索原理 》,于…

javascript实现比较相似图片算法 作者: https://js8.in/2013/04/02/javascript%E5%AE%9E%E7%8E%B0%E6%AF%94%E8%BE%83%E7%9B%B8%E4%BC%BC%E5%9B%BE%E7%89%87%E7%AE%97%E6%B3%95/ 昨天看了阮一峰老师的文章:《 相似图片搜索原理 》,于是把直方图和向量那块算法用js实现了一下, 源码如下: function getHistogram imageData  {    var arr =  ;    for  var i = 0; i < 64; i++  {         arr i  = 0;     }    var data = imageData.data;    var pow4 = Math.pow 4, 2 ;    for  var i = 0, len = data.length; i < len; i += 4  {        var red =  data i  / 64  | 0;        var green =  data i + 1  / 64  | 0;        var blue =  data i + 2  / 64  | 0;        var index = red   pow4 + green   4 + blue;         arr index ++;     }    return arr; }function cosine arr1, arr2  {    var axb = 0,         a = 0,         b = 0;    for  var i = 0, len = arr1.length; i < len; i++  {         axb += arr1 i    arr2 i ;         a += arr1 i    arr1 i ;         b += arr2 i    arr2 i ;     }    return axb /  Math.sqrt a    Math.sqrt b ; }function gray imgData  {    var data = imgData.data;    for  var i = 0, len = data.length; i < len; i += 4  {        var gray = parseInt data i  + data i + 1  + data i + 2  / 3 ;         data i + 2  = data i + 1  = data i  = gray;     }    return imgData; } 有个问题,假如图片是灰色的跟原图进行比较,那么要比较相似度,需要将图片都转成灰色的,即使用上面代码的gray函数来处理。