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 相关文章推荐
SharePoint 客户端对象模型 (一) ECMA Script
May 22 Javascript
javascript 判断中文字符长度的函数代码
Aug 27 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
函数window.open实现关闭所有的子窗口
Aug 03 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 Javascript
js对字符串进行编码的方法总结(推荐)
Nov 10 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
Nov 21 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
Apr 13 Javascript
jquery animate动画持续运动的实例
Nov 29 jQuery
解决bootstrap模态框数据缓存的问题方法
Aug 10 Javascript
Vue发布项目实例讲解
Jul 17 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
Sep 22 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
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
VueJS全面解析
2016/11/10 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python requests指定出口ip的例子
2019/07/25 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
python异步Web框架sanic的实现
2020/04/27 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
python如何操作mysql
2020/08/17 Python
Python requests上传文件实现步骤
2020/09/15 Python
优秀毕业生求职推荐信范文
2013/11/21 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
小学社会实践活动总结
2014/07/03 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
企业贷款委托书格式
2014/09/12 职场文书
2014年科普工作总结
2014/12/06 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python