当前位置: 首页 > 编程日记 > 正文

SLAM之特征匹配(三)————RANSAC------LO-RANSAC Algorithm

matlab 编译loransac,lapack

mex ranH.c时一直链接错误。

原来mex在编译多个文件时要把所有的C文件都列出来。命令如下:

mex loransacH.mex.c ranH.c utools.c Htools.c lapwrap.c matutl.c 
rtools.c -I'D:\lapack\headers\lapack' -L'D:\lapack' -
lcbia.lib.lapack.dyn.rel.x64.12.lib -lcbia.lib.blas.dyn.rel.x64.12.lib

在linux,链接lapack-3-6-0,

1、makefile

#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib

2、执行

./lapack_testing.py
make: execvp: ./lapack_testing.py: 权限不够
make: *** [lapack_testing] 错误 127

chmod +x lapack_testing.py

3 继续make

4、make完将liblapack.a、libblas.a、libtmglib.a重命名为:lapack.a、blas.a、tmglib.a。

5、mex命令:

mex loransacH.mex.c ranH.c utools.c Htools.c lapwrap.c matutl.c rtools.c -L'/home/pengshengfeng/mproject/lapack-3.6.0' -llapack -lblas

如果没有第四步:会出现的错误,可能和其他已经安装的库同名字了,或者其他原因,因为对linux暂时不是很熟悉,也可能是其他原因。

/usr/bin/ld: cannot find -libtmglib
/usr/bin/ld: cannot find -librefblas

LO-RANSAC Algorithm

The locally optimized RANSAC adds an optimization step after the verification phase, if a so-far-the-best model is found.

Speeding up Local Optimization

To reduce the time consumption, introducing a limit on the number of inliers that participate in estimation of model M' parameters. The precision of the estimated model will not be affected.

相关文章:

【Codeforces】1136C Nastya Is Transposing Matrices (矩阵转置)

http://codeforces.com/contest/1136/problem/C 第一个矩阵可否通过转置,变换成第二个矩阵,可以的话输出“YES”,不可以的话,输出“NO” 转置之后,对角线元素是不变的 用map,或者vector 都可以 #includ…

linux基础篇-02,linux时间管理date hwclock cal 简述

################################################时间管理1,date:系统时钟查看当前系统时间[rootJameszhan etc]# date2016年 11月 14日 星期一 20:16:37 CST################################################设定系统时间 2016年 07月 20日 星期三 10:30:00 CST…

Spark shuffle调优

Spark shuffle是什么Shuffle在Spark中即是把父RDD中的KV对按照Key重新分区,从而得到一个新的RDD。也就是说原本同属于父RDD同一个分区的数据需要进入到子RDD的不同的分区。现在的spark版本默认使用的是sortshuffle;shuffle在哪里产生shuffle在spark的算子中产生,也就…

多传感器融合之滤波(一)——卡尔曼滤波(KF)推导

c参考资料:https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ 卡尔曼滤波本质上是一个数据融合算法,将具有同样测量目的、来自不同传感器、(可能) 具有不同单位 (unit) 的数据融合在一起,得到一个更精确的目的测量值。 卡尔…

【HDU】1284 钱币兑换问题 (想一想)

http://acm.hdu.edu.cn/showproblem.php?pid1284 除以三,看最多能放多少个三分的硬币,加一表示全部都是一分的硬币着一种情况。之后用一个循环看一下,有多少种情况 因为确定了有几个三分,有几个两分,一分的也就自然…

抓取网页的脚本 【修复】

之前张耀老师的网页脚本由于51cto升级,课程列表页面改用javascript失效了笔者发现视频课程页面右边的列表都为静态化后的视频课程地址,遂将老师初始版本的脚本进行了修改,在对视频课程页面使用时结果正常,遂将及修改后的脚本和部分…

实例规格 ECS (共享计算型)和 (通用型-原独享)性能上有什么区别?...

实例规格 ECS (共享计算型)和 (通用型-原独享)性能上有什么区别? 实例规格 共享计算型 和 通用型(原独享), 如果同样是2核4G 或者4核8G ; 性能上有什么差异/差距大吗? 内存型比通用性性能好些,而且CPU和内存配比: 通用型为1:2&…

yolov3(二:车牌识别)

0.按照:https://blog.csdn.net/Darlingqiang/article/details/103889245步骤训练自己的模型 1.下载[data.zip]:链接: https://pan.baidu.com/s/1NahLmB5YajUJT_Gk1OgN7A 提取码: 8888 2.进入data/voc目录下运行voc_label.bat重新生成2019_train.txt, 201…

[转]CSS hack大全详解

转自:CSS hack大全&详解 1、什么是CSS hack?CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的,CSS hack就是让你记住这个标准),…

【Python】打印魔方阵

1.将“1”放在第一行,中间一列; 2.从2开始至N*N各数按如下规律: 每一个数存放的行比上一个数的行减1; 每一个数存放的列比上一个数的列加1; 3.当一个数行为1,下一个数行为N; 4.当一个数列数为N,下一个…

读书笔记:《图解HTTP》第三章 HTTP报文

原文地址博客积累地址 HTTP报文的作用 HTTP报文时是HTTP进行请求和响应时用来交换信息的,可以理解它为搬东西的包裹,来搬运交换的信息报文流 HTTP报文在HTTP应用程序(客户端、服务器、代理)之间发送数据块,这些数据块以…

在Web.config或App.config中的添加自定义配置

.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持。最近看到一些项目中还在自定义xml文件做程序的配置,所以忍不住写一篇用系统自定义配置的随笔了。 如果你已经对自定义配置了如指掌,请忽略这篇文章…

yolov3(三:算法框架解析)

应用见: https://blog.csdn.net/Darlingqiang/article/details/103889245 https://blog.csdn.net/Darlingqiang/article/details/104040582 首先通过一些简单的应用实现去理解yolov3的网络框架,接着让我们开始对yolov3的网络框架解析之旅。 首先&…

【牛客】简单排序 (STL)

https://ac.nowcoder.com/acm/contest/547/F 首先将一系列数存入到数组中,然后利用set的upper_bound返回第一个大于他的函数,如果存在这样的,就把大于他的那个数删除,加入这个新的数,否则就表示序列中没有大于他的数&…

python基础04

python基础04 python2在编译安装时,可以通过参数 -----enable----unicodeucs2 或 -----enable--unicodeucs4 分别用于指定使用2个字节,4个字节表示一个Unicode字符。python3无法进行选择,默认使用usc4. 查看当前python中表示Unicode字符串时占…

【Java】字符串(一)

目录 一、创建字符串 二、连接字符串 连接多个字符串 连接其他数据类型 三、获取字符串的信息 获取字符串的长度 字符串查找 获取指定索引位置的字符 四、字符串操作 获取子字符串 去除空格 字符串的替换 判断字符串是否相等 按字典顺序比较两个字符串 字母大小…

每天一命令 git checkout

检出 checkout 是git常用命令之一.主要用于创建切换分支,覆盖本地修改等 git checkout 用于显示工作区,暂存区,版本库中文件的区别 git checkout -b branch 用于创建一个新的分支, git checkout branch 用于检出一个分支 git checkout [commit] --filename 用暂存…

python数据结构与算法:排序算法(面试经验总结)

快排:最优复杂度 O(n*logn) 最坏时间复杂度O(n^2)平均时间复杂度n^(1.3) 归并排序:最优/平均/最坏 时间复杂度均O(nlogn),但是内存占用为list大小的两倍,算法稳定 ####…

go微服务框架go-micro深度学习(一) 整体架构介绍

产品嘴里的一个小项目,从立项到开发上线,随着时间和需求的不断激增,会越来越复杂,变成一个大项目,如果前期项目架构没设计的不好,代码会越来越臃肿,难以维护,后期的每次产品迭代上线…

多传感器融合之滤波(二)EKF

扩展卡尔曼滤波算法是解决非线性状态估计问题最为直接的一种处理方法,尽管EKF不是最精确的”最优“滤波器,但在过去的几十年成功地应用到许多非线性系统中。所以在学习非线性滤波问题时应该先从EKF开始。 EKF算法是将非线性函数进行泰勒展开,…

【Java】字符串(二)

目录 字符串格式化 日期和时间字符串格式化 日期格式化 时间格式化 格式化常见的日期时间组合 常见类型格式化 正则表达式(未完待续) 字符串生成器 字符串格式化 String类使用静态format()方法用于创建格式化的字符串。 format(String format&a…

为什么vue.js一眼看上去很美?

对其他框架我是佩服,对vue.js我则是爱。我就是一眼看上了vue.js,于是用它做各种东西,反反复复多次,然后觉得有些融会贯通,然后,我稍微细的思量了下,到底vue.js靓丽在哪? 还是上案例对比说明。这…

阿里云MWC 2019发布7款产品:Blink每秒可完成17亿次计算

在巴塞罗那举行的MWC 2019上,国内厂商不仅展示了目前的5G发展进程,也带来了一些云计算方面的进展。据报道,阿里云面向全球发布了7款产品,涵盖无服务器计算、高性能存储、全球网络、企业级数据库、大数据计算等主要云产品&#xff…

运用面向对象原则,设计一款音乐点唱机

2019独角兽企业重金招聘Python工程师标准>>> .设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充…

多传感器融合之滤波(三)--------

多传感器融合之滤波(三):IMU,GPS,Lidar,Ladar数据处理

【Codeforces】835B The number on the board (贪心)

把所有字符串上的数字加起来&#xff0c;看是否超过k&#xff0c;没有超过k的话&#xff0c;把字符串sort&#xff0c;从第一位开始&#xff0c;将字符变成9&#xff0c;直到sum大于等于k为止。 #include <iostream> #include <cstring> #include <string> …

拯救尴尬:鉴黄神器NSFW JS开源了!

近日&#xff0c;GitHub上开源了一款鉴定不雅内容的js库NSFW JS&#xff0c;你可以使用NSFW JS识别不雅内容&#xff0c;所有操作都只在客户端进行&#xff0c;甚至都不需要让文件离开用户的电脑。 演示地址&#xff1a;https://nsfwjs.com/ 项目地址&#xff1a;https://githu…

Linux下用于查看系统当前登录用户信息的4种方法

作为系统管理员&#xff0c;你可能经常会&#xff08;在某个时候&#xff09;需要查看系统中有哪些用户正在活动。有些时候&#xff0c;你甚至需要知道他&#xff08;她&#xff09;们正在做什么。本文为我们总结了4种查看系统用户信息&#xff08;通过编号&#xff08;ID&…

三维重建【一】——————(深度学习方式)

经典的计算机视觉问题是3-D重建。 基本上可以分成两种路径&#xff1a;一是多视角重建&#xff0c;二是运动重建。前者有一个经典的方法是多视角立体视觉&#xff08;MVS&#xff0c;multiple view stereo&#xff09;&#xff0c;就是多帧的立体匹配&#xff0c;这样采用CNN模…

【Codeforces】501B Misha and Changing Handles(map)

http://codeforces.com/problemset/problem/501/B map的应用&#xff0c;让新的名字作为key值&#xff0c;旧的名字作为value值&#xff0c;然后一一对应。如果这个旧名字不在map里&#xff0c;则添加进去&#xff1b;如果这个旧名字在map里&#xff0c;则需要进行替换&#x…