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 相关文章推荐
jquery.lazyload  实现图片延迟加载jquery插件
Feb 06 Javascript
Javascript图像处理—亮度对比度应用案例
Jan 03 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
jQuery中queue()方法用法实例
Dec 29 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
May 12 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 Javascript
node.js实现快速截图
Aug 27 Javascript
微信小程序图表插件(wx-charts)实例代码
Jan 17 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
在Vue环境下利用worker运行interval计时器的步骤
Aug 01 Javascript
vue 实现根据data中的属性值来设置不同的样式
Aug 04 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
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
php验证码实现代码(3种)
2015/09/07 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
javascript实现动态标签云
2015/10/16 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
python端口扫描系统实现方法
2014/11/19 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Pytorch之finetune使用详解
2020/01/18 Python
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
医院护士专业个人的求职信
2013/12/09 职场文书
2015元旦标语横幅
2014/12/09 职场文书
专家推荐信怎么写
2015/03/25 职场文书
员工升职自荐信
2015/03/27 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python