IND

V-LOAM 源码解析(一)

廉价感情. 提交于 2020-05-05 17:47:31
转载请注明出处:本文转自zhch_pan的博客http://www.cnblogs.com/zhchp-blog/ 本博客为本人之前做项目时做的源码阅读工作,po到网上希望帮助其他人更好的理解V-LOAM的工程实现,有些地方代码做了修改,可能和原工程有出入,但对于该工程的整体流程理解没有妨碍。 源码下载链接:https://github.com/Jinqiang/demo_lidar 节点名称: featureTracking 订阅topic: <sensor_msgs::Image> ( " /camera/image_raw ") 发布topic: 1、 <sensor_msgs::PointCloud2> ( "/image_points_last " ) 2、<sensor_msgs::Image>( "/image/show " ) 1 #include <math.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <ros/ros.h> 5 6 #include " cameraParameters.h " 7 #include " pointDefinition.h " 8 9 using namespace std; 10 using namespace cv; 11 12 bool

212.基于DCT变换的水印算法模拟

心已入冬 提交于 2020-05-04 10:24:16
摘要: 数字水印在保护多媒体数字产品版权方面发挥着巨大作用, 是信息隐藏领域研究的热点之一, 数字水印算法对不可感知性和鲁棒性要求较高, 变换域DCT技术能更好地满足水印的不可感知性和鲁棒性。本文对基于DCT变换的数字水印算法进行阐述,并通过Matlab进行模拟。 关键词: 数字水印;DCT变换;鲁棒性;算法模拟 1 前言   随着数字技术的发展,Internet应用日益广泛,数字媒体因其数字特征极易被复制、篡改、非法传播及蓄意攻击,其版权保护已日益引起人们的关注。因此,研究新形势下行之有效的版权保护和认证技术具有深远的理论意义和广泛的应用价值。   数字水印技术,是指在数字化的数据内容中嵌入不明显的记号,从而达到版权保护或认证的目的。被嵌入的记号通常是不可及或不可察觉的,但是通过一些计算操作可以被检测或提取。因此,数字图像的内嵌水印必须具有以下特点:透明性、鲁棒性、安全性。   在图像的DCT系数上嵌入水印信息具有诸多优势,首先,DCT变换是实数域变换,对实系数的处理更加方便,且不会使相应的信息发生改变。第二,DCT变换是有损图像压缩JPEG的核心,基于DCT变换的图像水印将兼容JPEG图像压缩。最后,图像的频域系数反应了能量分布,DCT变换后图像能量集中在图像的低频部分,即DCT图像中不为0的系数大部分集中在一起(左上角),因此编码效率很高

蓝牙协议分析(5)_BLE广播通信相关的技术分析

喜你入骨 提交于 2020-05-04 06:15:40
1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用。关于广播通信,通过“玩转BLE(1)_Eddystone beacon”和“玩转BLE(2)_使用bluepy扫描BLE的广播数据”两篇文章的介绍,我们已经有了一个整体的认识。本文将依此为基础,从技术的角度,分析和理解BLE协议中有关广播通信的定义和实现。 注1:之前的蓝牙协议分析文章(如“蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍”),偏向于从横向、从大而全的角度,介绍蓝牙协议,以便让大家有一个整体的认识。 而从本文开始,我们会收敛到一个个的功能点上,以功能为出发点,从纵向的角度,游走于蓝牙协议的各个层次中,以加深对蓝牙协议的理解,进而达到融会贯通的目的。 2. 概述 2.1 使用场景 在BLE协议中,广播通信主要有两类使用场景: 1)单一方向的、无连接的数据通信,数据发送者在广播信道上广播数据,数据接收者扫描、接收数据。 2)连接的建立。 后续的分析,将围绕这两个使用场景展开。 2.2 协议层次 在BLE协议中,和广播通信相关的协议层次比较简单,主要包括: GAP-------->HCI-------->LL LL(Link Layer)位于最底层,负责广播通信有关功能的定义和实现,包括物理通道的选择、相关的链路状态的定义、PDU的定义

蓝牙协议分析(9)_BLE安全机制之LL Privacy

一曲冷凌霜 提交于 2020-05-04 06:06:48
1. 前言 在上一篇文章 [1] 中,我们介绍了BLE的白名单机制,这是一种通过地址进行简单的访问控制的安全机制。同时我们也提到了,这种安全机制只防君子,不防小人,试想这样一种场景: A设备表示只信任B、C、D设备,因此就把它们的地址加入到了自己的白名单中,表示只愿意和它们沟通。与此同时,E设备对它们的沟通非常感兴趣,但A对自己不信任啊,肿么办? E眼珠子一转,想出一个坏主意:把自己的地址伪装成成B、C、D中任意一个(这个还是很容易办到的,随便扫描一下就得它们的地址了)就行了,嘿嘿嘿! 那么问题来了,怎么摆脱“小人E“的偷听呢?不着急,我们还有手段:“链路层的Privacy(隐私)机制”。 2. LL Privacy机制介绍 总结来说,LL Privacy机制是白名单(white list)机制的进阶和加强,它在白名单的基础上,将设备地址转变成Private addresses [2] 地址,以降低“小人E“窃得设备地址进而进行伪装的概率。 从白名单的角度看,Non-resolvable private address和Public Device Address/Static Device Address没有任何区别,因此LL Privacy机制主要指Resolvable Private Addresses。因此,LL Privacy机制的本质是: 通过Resolvable

solr与.net系列课程(五)solrnet的使用

喜夏-厌秋 提交于 2020-05-03 17:39:06
solr与.net系列课程(五)solrnet的使用 最近因项目比较忙,所以这篇文章出的比较晚,离上一篇文章已经有半个月的时间了,这节课我们来学下一下solr的.net客户端solrnet 出处 https://github.com/mausch/SolrNet 上一篇文章讲述了C#是如何请求和接受solr的数据的,请求链接是自己拼接的,接受数据是使用数据契约,solrnet就是把这些步骤封装起来,大家直接调用方法就可以请求和接受数据 首先要下载solrnet所要使用的DLL Microsoft.Practices.ServiceLocation.dll SolrNet.dll HttpWebAdapters.dll 下载地址 http://pan.baidu.com/s/1pJt7Wr5 创建一个项目,然后引用上面的DLL 好了,下面就开始实战, 我们来设计一个查询条件 title="关键字" and (area="北京" or area="上海") and industry="电力" and columns="项目" order time desc (1)创建一个接收数据的实体类,内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using

nw core index.js

牧云@^-^@ 提交于 2020-05-02 13:20:32
nw core index.js wechat_devtools_1.02.1904090/Contents/Resources/package.nw/js/core/index.js const path = require('path' ) const tools = require('../js/84b183688a46c9e2626d3e6f83365e13.js' ) const locales = require('../js/common/locales/index.js' ) const isMac = (process.platform === 'darwin' ) const query = tools.getQuery(location.search) // 记录工具开始运行的时间 global.beginTime = Date.now() function hack() { // to prevent drag image or html document.body.addEventListener('dragover', function (e) { e.preventDefault() e.stopPropagation() }, false ) document.body.addEventListener( 'drop', function (e) {

12位顶尖科学家参与新冠“曼哈顿计划”:防止第二波流行要指望抗体药物

流过昼夜 提交于 2020-05-02 10:42:06
  这是一份美国“隔离时代的曼哈顿计划”,是由12名美国顶尖科学家描绘出的抗击新冠疫情蓝图。据《华尔街日报》报道,如此称呼是为了向二战期间投入到原子弹研发的科学家们致敬。    这份报告共17页,提出了4个建议:一是抗病毒药物研究,二是中和抗体研究,三是疫苗开发,最后是如何重新开放企业和学校。   与美国智库此前的抗议路线图不同,该报告以药物和疫苗技术为核心,认真分析每一种潜在候选对象。报告重点讨论了瑞德西韦和单克隆抗体,建议美国食品药品监督管理局(FDA)对这两种药物的研发全力支持,并将9个月到12个月的新药审查时间压缩到一周。报告还提议成立疫苗研发委员会,以协调全球力量,将好钢用在刀刃上,而不是遍地开花。    报告对复工复学的建议是:每天开工或上课离家前报告症状,频繁进行病毒核酸测试,并穿戴防护设备。同时提醒说,抗体测试不会对复工复学产生大的影响。   这份报告特别强调了单克隆抗体的作用,称单克隆抗体是最有希望的抗病毒选项。报告认为在今年8月到9月间就可以大规模应用抗体药物,将为预防秋季第二波流行作出重要贡献。      图 | 报告首页   据《华尔街日报》报道,这个团队取名“抗击新冠的科学家”。发起人与领导者是风险投资人汤姆·卡希尔(Tom Cahill),他现年33岁,医学博士出身。据报道,这个计划以公民科学家的名义提出,将会提交给白宫

假设检验总结以及如何用python进行假设检验(scipy)

Deadly 提交于 2020-05-01 11:27:17
几种常见的假设检验总结如下: 假设检验名称 Z检验 t检验 χ2检验 F检验 原假设 H 0 : μ≥μ 0 H 0 : μ≤μ 0 H 0 : μ=μ 0 (比较样本和总体均值) H 0 : μ 1 -μ 2 ≥0 H 0 : μ 1 -μ 2 ≤0 H 0 : μ 1 -μ 2 =0 (比较两样本均值) H 0 : μ d ≥0 H 0 : μ d ≤0 H 0 : μ d =0 (比较两样本差值均值和假设差值) H 0 : σ 2 ≥σ 0 2 H 0 : σ 2 ≤σ 0 2 H 0 : σ 2 =σ 0 2 (比较样本和总体方差) H 0 : σ 1 2 ≤σ 2 2 H 0 : σ 1 2 =σ 2 2 (比较两样本方差,即方差齐性) H 0 : 两类别型变量相互独立 (独立性检验) H 0 : 总体服从某个概率分布 (拟合优度检验) H 0 : 总体均值都相等 (方差分析)--- 通常用于三个及以上的样本 备择假设 H a : μ<μ 0 H a : μ>μ 0 H a : μ≠μ 0 (比较样本和总体均值) H a : μ 1 -μ 2 <0 H a : μ 1 -μ 2 >0 H a : μ 1 -μ 2 ≠0 (比较两样本均值) H a : μ d <0 H a : μ d >0 H a : μ d ≠0 (比较两样本差值均值和假设差值) H a : σ 2

【2018年全国多校算法寒假训练营练习比赛(第四场)】

荒凉一梦 提交于 2020-05-01 04:59:02
上一场自己状态爆表;这一场队友爆表,自己捡表了;题目呢,总的来说不难,相比于前面几场比赛来说,关键在于如何建图。 像D题,在我的上一个博客里面就是一道同理的题,只需要求入度为0和出度为0的点最大数,然后特判已经强连通(比如只有一个点)的情况。 可以看看我上一个博客,可能会对此比赛有帮助。 【A 石油采集】 题解:二分匹配之匈牙利。 【B 道路建设】 题解:并查集。 【C 求交集】 题解:双指针扫一遍即可。 【D 小明的挖矿之旅】 题解:求度为0的点数量。 【E 通知小弟】 题解:处理入度为0的新点; 【F Call to your teacher】 题解:水 【G 老子的意大利炮呢】 题解:分层+优先队列SPFA。 【H 老子的全排列呢】 题解:STL之permutation或者试一试康拓展开。 -------------------------------代码----------------------------- 【A】 12月份刚好看过队友做过此题,当然那个题我还懵b了,所以记得。 可以先去看看POJ 2446 ,POJ3020。附上队友博客: LZH #include<iostream> #include <cstdio> #include <cstring> #include <ctime> #include <cstdlib> #include <algorithm>

Python遗传和进化算法框架(一)Geatpy快速入门

岁酱吖の 提交于 2020-04-28 03:34:00
https://blog.csdn.net/qq_33353186/article/details/82014986 Geatpy是一个高性能的Python遗传算法库以及开放式进化算法框架,由华南理工大学、华南农业大学、德州奥斯汀公立大学学生联合团队开发。 Website (including documentation): http://www.geatpy.com Contact us: https://www.geatpy.com/supports Source: https://github.com/geatpy-dev/geatpy Bug reports: https://github.com/geatpy-dev/geatpy/issues Geatpy提供了许多已实现的遗传和进化算法相关算子的库函数,如初始化种群、选择、交叉、变异、重插入、多种群迁移、多目标优化非支配排序等,并且提供开放式的进化算法框架来实现多样化的进化算法。其执行效率高于Matlab遗传算法工具箱和Matlab第三方遗传算法工具箱Gaot、gatbx、GEATbx,学习成本低。 Geatpy支持二进制/格雷码编码种群、实数值种群、整数值种群、排列编码种群。支持轮盘赌选择、随机抽样选择、锦标赛选择。提供单点交叉、两点交叉、洗牌交叉、部分匹配交叉(PMX)、线性重组、离散重组、中间重组等重组算子