当前位置: 首页 > news >正文

依赖库:Ceres-solver-2.0.0安装

依赖库:Ceres-solver-2.0.0安装

  • 前言
  • 安装ceres-solver-2.0.0
  • 验证

前言

Ceres Solver是谷歌开源的C++非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中被大量的使用。

ceres可以在Linux,Windows,macOS,Andrioid,IOS系统进行安装使用

ceres被命名是由于高斯使用了最小二乘方法成功的预测了绕行至太阳背后的小行星ceres的位置。

Ceres Solver 官网:http://ceres-solver.org/
github:https://github.com/ceres-solver/ceres-solver

本篇博客在 ubuntu 20.04 环境下安装 Ceres-solver-2.0.0

安装ceres-solver-2.0.0

先安装ceres依赖

sudo apt-get install cmake
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev

下载ceres-solver-2.0.0

git clone https://github.com/ceres-solver/ceres-solver # 这样是安装最新版本
git clone -b 2.0.0 https://github.com/ceres-solver/ceres-solver.git  #安装指定版本

在这里插入图片描述
下载完成后形成该文件

然后进行编译

cd ceres-solver
mkdir build
cd build
cmake ..

成功后提示

– Build the examples.
– Configuring done
– Generating done
– Build files have been written to: /home/jk-jone/ceres-solver/build

在这里插入图片描述
然后再进行make

make -j4

成功后显示:

[ 99%] Built target ba_iterschur_suitesparse_clusttri_user_test
[100%] Linking CXX executable …/…/…/bin/ba_sparsecholesky_suitesparse_user_threads_test
[100%] Built target ba_sparsecholesky_suitesparse_user_threads_test

在这里插入图片描述
最后进行安装

sudo make install

成功后显示 :

– Installing: /usr/local/include/ceres/internal/config.h
– Installing: /usr/local/include/ceres/internal/export.h
– Installing: /usr/local/lib/cmake/Ceres/CeresTargets.cmake
– Installing: /usr/local/lib/cmake/Ceres/CeresTargets-release.cmake
– Installing: /usr/local/lib/cmake/Ceres/CeresConfig.cmake
– Installing: /usr/local/lib/cmake/Ceres/CeresConfigVersion.cmake
– Installing: /usr/local/lib/cmake/Ceres/FindGlog.cmake

在这里插入图片描述
至此Ceres-solver-2.0.0安装完毕

验证

在build的文件夹下 生成的bin文件夹下 有个 simple_bundle_adjuster 的运行文件
在这里插入图片描述
在ceres-slover文件夹下的data文件夹中有个 problem-16-22106-pre.txt 数据文件
在这里插入图片描述
可用用这两个文件进行安装是否成功的验证

在终端运行

cd ceres-solver/build
bin/simple_bundle_adjuster ../data/problem-16-22106-pre.txt

在这里插入图片描述
终端出现上面的求解过程与结构,说明安装正常。

相关文章:

依赖库:Ceres-solver-2.0.0安装

依赖库:Ceres-solver-2.0.0安装 前言安装ceres-solver-2.0.0验证 前言 Ceres Solver是谷歌开源的C非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中…...

LeSS敏捷框架高效生产力实践

每个团队可能都有一套适合自己的敏捷方法,本文介绍了ResponseTap工程团队通过采用LeSS框架、引入准备周,从而提升迭代冲刺研发效能的实践。原文: LeSS Agile, More Productive — Part 1: Pain[1], LeSS Agile, More Productive — Part 2: Promise, LeS…...

matlab绘图函数plot和fplot的区别

一、背景 有的函数用plot画就会报错,显示数据必须为可转换为双精度值的数值、日期时间、持续时间、分类或数组。 如下图所示: 但用fplot函数就没有问题,因此这里记录一下两者的区别,如果使用不当,画出的图可能就是下…...

场景交互与场景漫游-对象选取(8-2)

对象选取示例的代码如程序清单8-11所示: /******************************************* 对象选取示例 *************************************/ // 对象选取事件处理器 class PickHandler :public osgGA::GUIEventHandler { public:PickHandler() :_mx(0.0f), _my…...

模拟Spring源码思想,手写源码,理解注解

1、BeanDefinition package com.csdn.myspring; import lombok.AllArgsConstructor; import lombok.Data; Data AllArgsConstructor public class BeanDefinition {private String beanName;private Class beanClass; }2、扫描包的工具类MyTools package com.csdn.myspring; im…...

各种LLM数据集包括SFT数据集

各种LLM数据集包括SFT数据集 数集介绍和 hf上的名字对话数据生成方法交通领域数据集SFT 的解释数集介绍和 hf上的名字 通用预训练数据集 SFT datasets SFT 数据集 50万条中文ChatGPT指令Belle数据集:BelleGroup/train_0.5M_CN 100万条中文ChatGPT指令Belle数据集:BelleGrou…...

Sleuth

Sleuth 一 引言 随着服务的越来越多,对调⽤链的分析会越来越复杂。它们之间的调⽤关系也许如下图: 问题: 1:微服务之间的调⽤错综复杂,⽤户发送的请求经历那些服务,调⽤链不清楚,没有⼀ 个⾃…...

新手必看!!附源码!!STM32通用定时器输出PWM

一、什么是PWM? PWM(脉冲宽度调制)是一种用于控制电子设备的技术。它通过调整信号的脉冲宽度来控制电压的平均值。PWM常用于调节电机速度、控制LED亮度、产生模拟信号等应用。 二、PWM的原理 PWM的基本原理是通过以一定频率产生的脉冲信号&#xff0…...

静态文件鉴权

​ 静态文件鉴权的解决方案 背景介绍 XX业务系统作为BXX业务系统的孪生姐妹系统,是对BXX受理业务的强力补充系统,他允许操作员拿着IPAD,和客户约定地点上门受理业务。 因一些业务的受理,按照最新的业务规章制度,需…...

计算机视觉与机器学习D1

计算机视觉简介 技术背景 了解人工智能方向、热点 目前人工智能的技术方向有: 1、计算机视觉——计算机视觉(CV)是指机器感知环境的能力;这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。物体检测和人脸识别是其比较成功…...

layui(2.8.18)生成验证码

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>登入</title><meta name"renderer" content"webkit"><meta http-equiv"X-UA-Compatible" content"IEedge,chrome1&quo…...

MAX/MSP SDK学习05:A_GIMME方法

今天终于将A_GIMME方法部分的描述看懂了&#xff0c;上周因为太赶时间加上这文档很抽象一直没看懂。也就那么一回事&#xff0c;记录一下。 A_GIMME方法用于接收多个参数。 ①内置消息选择器传递多个参数时一定要使用A_GIMME&#xff1b; ②自定义消息选择器传递多个参数时建…...

LangChain: 类似 Flask/FastAPI 之于 Django,LangServe 就是「LangChain 自己的 FastAPI」

原文&#xff1a;LangChain: 类似 Flask/FastAPI 之于 Django&#xff0c;LangServe 就是「LangChain 自己的 FastAPI」 - 知乎 说明&#xff1a;LangServe代替 langchainserver 成为新的langchain 部署工具 官网资料&#xff1a;&#x1f99c;️&#x1f3d3; LangServe | &…...

mmdet全教程

官方给的文档一言难尽&#xff0c;网上的教程又没有从大纲到源码的完整解读&#xff0c;计划年后开个系列记录一下...

1992-2021年省市县经过矫正的夜间灯光数据(GNLD、VIIRS)

1992-2021年省市县经过矫正的夜间灯光数据&#xff08;GNLD、VIIRS&#xff09; 1、时间&#xff1a;1992-2021年3月&#xff0c;其中1992-2013年为年度数据&#xff0c;2013-2021年3月为月度数据 2、来源&#xff1a;DMSP、VIIRS 3、范围&#xff1a;分区域汇总&#xff1a…...

Guava的Retryer

Retryer类是Guava库中的一个重试工具类&#xff0c;它提供了一种在调用方法时自动重试的机制。Retryer类中的call()方法用于执行需要重试的方法&#xff0c;如果方法执行失败&#xff0c;则Retryer会根据配置的规则进行重试。Retryer类可以配置重试的次数、重试间隔时间、重试的…...

Docker实践笔记7:构建MySQL 8镜像

使用Docker构建MySQL 8镜像并运行容器 本教程将指导您使用Dockerfile构建和运行一个MySQL 8容器。让我们开始吧&#xff01; 步骤1&#xff1a;创建Dockerfile 在您的项目根目录下创建一个名为Dockerfile的文件。以下是Dockerfile的示例内容&#xff1a; # 基于最新的MySQL…...

# 学习 Prolog 和 离散逻辑的16个等价公式:一趟有趣的逻辑之旅

Prolog 的语法很奇怪,需要一些时间来适应,所以我花了点时间,想用Prolot来学习和验证离散逻辑的16组等价公式。 1. 双重否定律 (Double Negation Law) A ⇔A 首先&#xff0c;我们来看看双重否定律。在 Prolog 中&#xff0c;我们可以这样验证它&#xff1a; fun1(A,Z):-memb…...

Win11+Modelsim SE-64 10.6d搭建UVM环境

1、添加源文件及tb文件 在目录下建立文件夹&#xff0c;将DUT和Testbench添加进去&#xff0c;文件夹内容如下所示&#xff1a; 2、以《UVM实战》中的例子做简单的示例&#xff1a; 2.1 设计文件 &#xff1a;dut.sv 功能很简单&#xff0c;即将接受到的数据原封不动发送出去…...

LeetCode(32)串联所有单词的子串【滑动窗口】【困难】(含图解)

目录 1.题目2.答案3.提交结果截图4.图解 链接&#xff1a; 串联所有单词的子串 1.题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 w…...

ARM Cortex-M33 安全实战:手把手教你用 SAU 划分安全与非安全内存区域

ARM Cortex-M33 安全实战&#xff1a;手把手教你用 SAU 划分安全与非安全内存区域 在嵌入式系统开发中&#xff0c;安全性已经从"可有可无"变成了"必不可少"的核心需求。想象一下&#xff0c;你的智能门锁固件被恶意攻击者篡改&#xff0c;或者工业控制设备…...

【紧急预警】2024年Q3起,主流农业IoT平台将停用HTTP轮询接口!立即升级你的PHP数据采集层(含MQTTv5迁移checklist与兼容性测试包)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;农业IoT数据采集架构演进与HTTP轮询退役背景 传统农业IoT系统长期依赖基于HTTP的定时轮询&#xff08;Polling&#xff09;机制获取传感器数据&#xff0c;例如土壤温湿度、光照强度及CO₂浓度等。该模…...

pywinauto实战:如何精准定位Windows桌面应用里的‘顽固’控件?(附Inspect工具使用技巧)

pywinauto高级控件定位指南&#xff1a;破解WPF/Qt应用的自动化难题 当你在Windows自动化测试中遇到那些"顽固"控件时&#xff0c;是否感到束手无策&#xff1f;那些用常规方法无法定位的WPF按钮、Qt输入框或自定义控件&#xff0c;往往成为自动化脚本中的绊脚石。本…...

告别模糊照片:用CBDNet训练你自己的手机照片去噪模型(PyTorch实战)

手机摄影爱好者的救星&#xff1a;用CBDNet打造个性化去噪模型的完整指南 每次翻看手机相册时&#xff0c;那些在昏暗餐厅、夜晚街头或是室内弱光环境下拍摄的照片是否总让你感到遗憾&#xff1f;噪点像一层挥之不去的薄雾&#xff0c;掩盖了本应清晰的细节。传统修图软件的去噪…...

别再只懂PCA了!用PyTorch从零搭建一个Auto-Encoder,实战图像去噪与数据压缩

别再只懂PCA了&#xff01;用PyTorch从零搭建Auto-Encoder实战图像去噪与数据压缩 当你的MNIST手写数字被噪声淹没时&#xff0c;当你的高维数据让PCA力不从心时&#xff0c;是时候尝试一种更强大的非线性降维工具了。Auto-Encoder&#xff08;自编码器&#xff09;这个看似简单…...

避坑指南:STM32标准库PWM驱动舵机/电机时,那些容易忽略的细节(频率计算、引脚重映射、方向控制)

STM32标准库PWM驱动实战&#xff1a;从舵机到电机的精细控制艺术 在嵌入式开发领域&#xff0c;PWM&#xff08;脉冲宽度调制&#xff09;技术就像一位无声的指挥家&#xff0c;精确控制着各种执行器的动作。对于STM32开发者而言&#xff0c;标准库提供的PWM功能强大但细节繁多…...

大语言模型提示词实战教程:从原理到应用,掌握高效Prompt编写技巧

1. 项目概述与核心价值如果你最近开始接触大语言模型&#xff0c;比如 ChatGPT、Claude 或者国内的文心一言、通义千问&#xff0c;你可能会发现一个有趣的现象&#xff1a;有时候你问一个问题&#xff0c;它回答得头头是道&#xff0c;堪称完美&#xff1b;但有时候&#xff0…...

紧急通知:VSCode 2026.1已强制启用跨端调试安全沙箱,未升级launch.json将导致iOS真机调试失败——3步迁移指南+兼容性检测脚本立即下载

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VSCode 2026 跨端调试增强案例 VSCode 2026 引入了原生跨端调试协议桥接层&#xff08;Cross-Platform Debug Bridge, CPDB&#xff09;&#xff0c;支持在单个调试会话中无缝切换 Web、Electron、WSL2…...

Windows微信批量消息发送工具:5分钟快速上手指南

Windows微信批量消息发送工具&#xff1a;5分钟快速上手指南 【免费下载链接】WeChat-mass-msg 微信自动发送信息&#xff0c;微信群发消息&#xff0c;Windows系统微信客户端&#xff08;PC端 项目地址: https://gitcode.com/gh_mirrors/we/WeChat-mass-msg 还在为逐个…...

开源免费的WPS AI 软件 察元AI文档助手:链路 035:executeAssistantTask 中 buildStructuredExecutionPlan 到 apply

链路 035&#xff1a;executeAssistantTask 中 buildStructuredExecutionPlan 到 apply 总体链路图 下图在全系列各篇保持一致&#xff0c;仅通过高亮样式标示本篇所覆盖的环节&#xff1b;箭头表示主成功路径&#xff0c;点线为异常或可选路径。阅读任意一篇时都应能回到本图…...