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 相关文章推荐
禁用Tab键JS代码兼容Firefox和IE
Apr 18 Javascript
jQuery实现鼠标可拖动调整表格列宽度
May 26 Javascript
JavaScript实现对下拉列表值进行排序的方法
Jul 15 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
javascript和jquery实现用户登录验证
May 04 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
js中less常用的方法小结
Aug 09 Javascript
vue 项目接口管理的实现
Jan 17 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
Jul 25 Javascript
node.js使用http模块创建服务器和客户端完整示例
Feb 10 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
用PHP生成html分页列表的代码
2007/03/18 PHP
PHP 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
PHP微信支付开发实例
2016/06/22 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
用Python遍历C盘dll文件的方法
2015/05/06 Python
Python函数返回值实例分析
2015/06/08 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
python实现发送邮件功能
2017/07/22 Python
numpy中的高维数组转置实例
2018/04/17 Python
python pandas 时间日期的处理实现
2019/07/30 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
linux 下selenium chrome使用详解
2020/04/02 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
聊聊python中的异常嵌套
2020/09/01 Python
python wsgiref源码解析
2021/02/06 Python
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
2014的自我评价
2014/01/13 职场文书
丧事主持词大全
2014/04/02 职场文书
毕业生实习证明
2014/09/19 职场文书
婚礼答谢礼品
2015/01/20 职场文书
负责培养人意见
2015/06/05 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python