javascript图片相似度算法实现 js实现直方图和向量算法


Posted in Javascript onJanuary 14, 2014
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函数来处理

Javascript 相关文章推荐
javascript下给元素添加事件的方法与代码
Aug 13 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
Aug 30 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
Aug 13 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
Jan 22 Javascript
javascript+html5实现绘制圆环的方法
Jul 28 Javascript
jquery控制显示服务器生成的图片流
Aug 04 Javascript
js获取及修改网页背景色和字体色的方法
Dec 29 Javascript
Javascript实现苹果悬浮虚拟按钮
Apr 10 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
Sep 04 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
vue返回上一页面时回到原先滚动的位置的方法
Dec 20 Javascript
js动画效果制件让图片组成动画代码分享
Jan 14 #Javascript
利用JQuery制作符合Web标准的QQ弹出消息
Jan 14 #Javascript
js中opener与parent的区别详细解析
Jan 14 #Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 #Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
Jan 14 #Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 #Javascript
javascript日期对象格式化为字符串的实现方法
Jan 14 #Javascript
You might like
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
简化php模板页面中分页代码的解析
2009/02/06 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
python排序方法实例分析
2015/04/30 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
Python日志处理模块logging用法解析
2020/05/19 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
大学竞选班长演讲稿
2014/04/24 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
保管员岗位职责
2015/02/14 职场文书
党支部意见范文
2015/06/02 职场文书
美容院员工规章制度
2015/08/05 职场文书
python创建字典及相关管理操作
2022/04/13 Python