自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (3)
  • 收藏
  • 关注

原创 Eigen使用

3.Sophus与Eigen转换。

2023-08-17 10:49:57 101

原创 ICE-BA代码解析

ICE-BA代码分析

2022-04-10 20:59:40 1134 1

原创 Kalibr安装

10 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list' 11 wget http://packages.ros.org/ros.key -O - | sudo apt-key add - 12 sudo apt-get update 13 sudo apt-get install ros-in...

2022-02-22 16:02:40 1531

原创 Ubuntu18.04运行Vins-Fusion

一. 安装ros不同的ubuntu版本对应不同版本的ros,具体可查询ros官网http://wiki.ros.org/ROS/Installationubuntu16.04以及更老的版本对应ROS Kinetic Kameubuntu18.04对应ROS Melodic Moreniaubuntu20.04对应ROS Noetic Ninjemys下面开始安装ROS Melodic,详细安装教程可以参考下面的官网连接:http://wiki.ros.org/melodic/In

2021-04-10 11:41:51 5747 9

原创 Unity使用Mesh动态加载3D模型

Unity提供Mesh类型,允许用户动态的将顶点坐标,顶点颜色,顶点法向量,顶点UV等属性动态传输给Mesh类,在场景中绘制用户自定义的三维模型。下面说下实现步骤:1. 在场景中创建一个空物体,右键单击->Create Empty,命名为DynamicCubeObject。2. 在工程中创建一个C#脚本,命名为DynamicMesh.cs,并将DynamicMesh.cs脚本拖拽到DynamicCubeObject上,DynamicMesh.cs代码如下:using System.C

2021-02-03 10:01:57 2108 1

原创 ffmpeg编译Android版本的armeabi-v7a和arm64-v8a

最近在做一个Android播放音频的项目,整个音频处理流程:接收网络音频流aac格式,本地解码成pcm原始音频码流并播放。其中解码aac音频到pcm的过程使用到了ffmpeg,需要编译ffmpeg生成Android平台上需要的so文件,通过搜索各种网络资料,也是折腾了好久终于可以生成armeabi-v7a和arm64-v8a的so文件,所以在这记录下整个编译流程,主要参考的就是参考文档连接中第一篇博客,此外也添加了编译过程中各种报错的解决方案:1. 准备编译环境,使用Linux系统,不要尝试Wind

2020-11-20 14:14:52 1518

原创 GLM 中的mat4

GLM 中的mat4xxxxmat4中内存的排列方式mat4的使用方式glm::frustum四元数转mat4glm::translatexxxxmat4中内存的排列方式mat4的类定义在type_mat4x4.hpp中,下面是对整个类代码的部分截取:struct tmat4x4{ typedef tvec4<T, P> col_type; private: col_type value[4]; public: template <typename

2020-10-29 16:25:37 10492

原创 AR/VR中使用Overlay提升清晰度

在AR/VR应用中,清晰度是影响用户体验一个至关重要的因素,虽然目前提高清晰度的方案有很多:提高物理屏幕的分辨率,使用畸变网格进行畸变上屏等。但是Overlay感觉是在软件层面可以增加清晰度的一种很好的方式。一,为什么要引入Overlay的实现。考虑一个简单的场景,我现在要在AR/VR设备中呈现一个简单的场景(在正前方一块电影屏幕,并在上面播放电影):正常的流程是新建一个三维场景,在正前方添加一个电影屏幕的网格,从内存中解析mp4格式的视频内容,并贴图到电影屏幕的三维网格上,然后通过渲染引擎渲染出左右

2020-09-25 16:36:53 1393

原创 Windows环境下编译Ceres

1. 下载ceres稳定版本ceres-solver-1.14.02. 解压进入jni目录,修改Application.mk文件#APP_BUILD_SCRIPT := $(call my-dir)/Android.mk#APP_PROJECT_PATH := $(call my-dir)APP_CPPFLAGS += -fexceptionsAPP_CPPFLAGS += -frttiAPP_OPTIM := release# Use libc++ from LLVM. It is

2020-08-08 18:10:02 496

原创 Google Cardboard与Oculus IMU融合算法

最近重新整理了IMU融合相关的代码实现,目前开源并有很好的运行效果的有Oculus(很久之前的SDK,最新版本融合Camera和IMU的SLAM定位版本已经不开源)和Google Cardboard,为了可以在普通手机设备上运行和调试,我将Oculus和Cardboard中IMU融合的代码提取出来,并使用简单的opengl场景展示了姿态追踪效果,整个工程使用Android Studio编译,可直接在任意一款安卓手机运行,通过修改代码中的宏定义,可以切换Oculus和Cardboard的实现方式。源码地址

2020-07-24 16:54:42 743

原创 视椎体与透视矩阵

视椎体定义的是在相机坐标系下以坐标原点为光心的一块可视区域的椎体,如下图所示,椎体区域可以由近截面,远截面,水平视场角,垂直视场角定义:在使用Opengl,Direct3D进行渲染时会将视椎体中的三维点映射到2维的平面上,整个映射过程会使用到投影矩阵,投影矩阵是一个4X4的矩阵M,例如有一个三维点P=[X,Y,Z,1]',通过M乘以P得到映射平面的点坐标[Xp,Yp,Zp,Wp],然后除以...

2020-03-20 10:07:47 2430 1

原创 glReadPixels读取显存数据并保存图像

glReadPixels: 如果你想将渲染的结果保存下来,你可以使用glReadPixels将图像内容从现存读取到内存中,需要注意:仅限于读取Color Buffer,无法读取Depth Buffer和Stencil Buffer,当调用glReadPixels时,可以将Color Buffer中的像素值保存到预分配的内存缓冲区中。函数定义:------------------------...

2019-11-09 10:34:35 11000 5

原创 adb 常用命令总结

adb工具即Android Debug Bridge(安卓调试桥)tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。1. adb devices 列举当前连接的所有设备。2.adb install my_app.apk 安装应用到设备上3.adb -s 123456 install my_app.apk 安装应用到指定设备(...

2019-11-07 14:10:44 217

原创 复数的三角形式与指数形式

在中学,我们已经学习过复数及其用代数形式a+bi表达的四则运算法则及算律。在《大学数学》中我们学习过建立在实数集合上的微积分——称为实分析;同样,在复数集合上也可以讨论函数、导数、微分、积分等问题,这就是大学数学本科(或研究生)专业里一门必修课《复变函数》,因此我们有必要对复数了解得更多些。1.复数的三角形式1.1 复数的幅角与模我们知道复数a+bi对应着复平面上的点(a, b),也...

2019-10-22 16:53:10 53261 2

原创 Unity使用surface shader修改被渲染物体的alpha通道

在做3D渲染的时候经常会使用Blend功能叠加两幅图像,例如预先修改场景中的某一个物体的alpha通道,并在后续处理中将物体区域利用blend实现特殊效果,在这只记录下如何修改渲染物体的alpha通道:1. 新建一个要渲染的物体: 例如 3D Object --> Cube2. 新建一个材质并绑定到刚创建的Cube上: Create --> Material3. 新建一个...

2019-08-15 16:36:30 871

原创 TensorFlow的logging机制

TensorFlow实现了自己的log输出模块:tf.logging,logging一共有五个日志级别,从低到高分别为:tf.logging.DEBUGtf.logging.INFOtf.logging.WARNtf.logging.ERRORtf.logging.FATAL当使用tf.logging.set_verbosity(tf.logging.DEBUG)设定日志级别为D...

2019-08-15 15:03:26 740

原创 TensorFlow命令行参数处理模块

TensorFlow定义了tf.app.flags,用于支持接受命令行传递参数,默认支持四种类型:tf.app.flags.DEFINE_booleantf.app.flags.DEFINE_stringtf.app.flags.DEFINE_integertf.app.flags.DEFINE_float四种类型都接受三个入参分别为:("param_name", "de...

2019-08-15 14:36:40 185

原创 TensorFlow内置API整理

tf.range创建一串数字序列:tf.range(limit, delta=1, dtype=None, name='range')tf.range(start, limit, delta=1, dtype=None, name='range')创建一系列从start开始,到limit结束但是不包括limit的数字序列,序列的间隔为delta;返回的tensor类型由dtyp...

2019-08-14 13:39:29 177

原创 Google Pixel手机解锁 bootloader

要想在Android手机上面烧录自己生成的Img文件,必须要先解锁手机的bootloader,下面是整理的 Google Pixel手机(Pixel XL)的解锁bootloader的步骤。1. 删除手机上面的google账号: Settings -&gt; Users&amp;Accounts -&gt; Remove Accounts2. 删除手机上所有的指纹锁,密码锁或者图案锁3...

2018-11-06 11:04:09 9108 3

原创 ubuntu 16.04编译 Google Pixel Image

sudo apt-get install openssh-server1. 打开下面的文件sudo vi /etc/apt/sources.list sudo apt-get update2. 在文件前面添加阿里源deb http://mirrors.aliyun.com/ubuntu/ quantal main restricted universe multiverse...

2018-10-30 18:01:42 336

原创 VINS在Android上的实现

VINS是香港科技大学沈劭劼团队开源的单目视觉惯导SLAM系统,其中开源了两个项目,Vins-Mono是基于ROS系统的,Vins-Mobile是基于苹果6S以上手机版本的。对于想在Android系统上搭建并进行源码学习的同学就需要自己去进行代码修改,这里因为学习Vins的需要,已经完成Android的代码移植,在此将代码分享出来,希望可以帮助感兴趣的同学进行调试学习。由于git-hub对...

2018-10-22 14:31:21 6766 56

原创 Android使用Post方法获取Json配置

1. 首先是使用Post方法从网络获取Json的代码, 返回类型为String:public String SendPostRequest(String param_key, String param_val){ HttpURLConnection conn=null; String backcontent=""; try { St...

2018-07-06 16:36:13 883

原创 两点的叉乘为过两点直线的系数

已知:二维平面的两点X(x1,y1),Y(x2,y2),证明X,Y两点的齐次式叉乘为过XY的直线的系数.证明: 叉乘的定义为已知向量a = (a1,a2,a3), b=(b1,b2,b3), a叉乘b=(a2b3-a3b2, a3b1-a1b3, a1b2-a2b1)           因为XY的齐次式为(x1,y1,1)和(x2,y2,1),代入叉乘的定义得(y1-y2, x2-x1,

2018-01-12 10:37:45 7326 4

原创 SLAM中的三角化方案

Linear triangulation methods 又称为线性三角形法,其作用是通过一组空间点在两个视图中的平面坐标,求解这组空间点的世界坐标。已知条件为:空间点的世界坐标X,X在两个视图中的平面坐标,,以及两个视图的投影矩阵,。求解过程:1. 根据相机模型可以得出: , 2. 对上面公式同时进行叉乘计算:

2017-12-13 17:41:14 4211

原创 下载并编译Chrome浏览器For Android

最近因为公司项目,需要对Chrome的某一模块进行修改后,兼容公司的Android设备,现记录下Chrome的源码下载过程,作为笔记。1. 准备Ubuntu系统,最好是物理机上安装,因为Chrome首次编译耗时较长,对硬件要求较高。我使用的Ubuntu版本为14.04.1。2. 现在Chrome源码要翻墙,这个可以通过更换hosts解决,从laod.cn上下载linux可用的hosts文件

2017-10-20 10:08:32 4199 1

原创 ubuntu配置163源和阿里源

ubuntu上使用apt-get时,有时候网络链接会非常慢,这时可以替换源。1. 保存原始的source.list文件    # sudo mv /etc/apt/source.list /etc/apt/source.list.bak2. 新建source.list添加163源,或者阿里源163源:deb http://mirrors.163.com/ubuntu/ wi

2017-08-01 17:17:22 10080

原创 Andriod Studio中引用aar jar so

1. 引用aar假设aar放在libs目录中,libs和build.gradle在同一级目录:修改build.gradle 配置文件,添加repositories{     flatDir {        dirs 'libs'    }}repositories添加在build.gradle的根目录下。修改dependencies:添

2017-05-27 11:40:07 534

原创 Android Studio配置总结

1. CMAKEAS 2.3.1版本后使用Cmake来配置Native代码的编译,所以在这里总结下Cmake的常用配置:添加引用路径:include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/include)添加待编译模块:add_library( # Sets the name of the library.

2017-05-27 10:35:49 540

翻译 使用JNI在JAVA和C++之间进行交互操作

原文链接地址:https://library.vuforia.com/articles/Solution/How-To-Communicate-Between-Java-and-C-using-the-JNI本文旨在描述如何使用JNI(Java Native Interface)实现JAVA和C++之间的互相调用。1.在JAVA中调用C++方法假设在ImageTargets.j

2017-04-26 16:36:51 667

原创 Direct3D11 保存Texture2D到本地文件

#include #include #pragma comment(lib, "D3DX11.lib") #pragma comment(lib, "d3d11.lib") #pragma comment(lib, "dxgi.lib") ID3D11Texture2D *    SaveTexture2D;  ID3D11Resource  *    SaveTextureRes

2017-03-29 11:20:39 6880

原创 Unity保存图像

void SaveImage(Texture saveTexture, string mask)    {        if (saveTexture != null)        {            RenderTexture currentActive = new RenderTexture((int)(saveTexture.width), (int)(saveTe

2017-03-22 18:06:29 749

原创 GPUview使用简介

1. Windows Vista Display Driver Model每个 App 有一个队列,操作系统根据每个 App 的队列,动态将任务丢到 GPU 的队列。如果 GPU 队列空了,则 GPU 空闲。使用GPUview可以监控GPU的队列状态。2. GPUview的安装GPUview在Win7上面不是系统自带的工具,需要安装Windows Kits

2017-02-15 10:09:47 11396 1

转载 基于TC358870XBG的头戴式显示方案

近年来Sony,Oculus等公司纷纷推出各自的头戴式显示产品,引起市场关注。这里介绍了一种简洁有效的头戴式显示器方案,通过HDMI输入3D影音,就可以体验“虚拟现实”的真实场景。本文引用地址:http://www.eepw.com.cn/article/273061.htm1.方案描述        本方案采用东芝的接口转换芯片TC358870XBG作信号转换处理。MCU通过I2

2017-02-08 14:03:51 6176

转载 I2C总线协议

1.I2C协议   2条双向串行线,一条数据线SDA,一条时钟线SCL。   SDA传输数据是大端传输,每次传输8bit,即一字节。   支持多主控(multimastering),任何时间点只能有一个主控。   总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.   系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datash

2017-01-21 10:38:13 442

原创 加载图片到D3D11Texture2D

#include "stdafx.h"#include "LoadPicture.h"#include #include #include #pragma comment(lib,"D3DX11.lib")#pragma comment(lib,"D3D11.lib")bool LoadTexture(){ ID3D11Texture2D * pTexture2D = N

2017-01-18 15:08:58 4501 1

原创 Oculus DK1芯片

Oculus DK1采用STM32F103C8T6,属于Cortex-M3国内某公司  采用NUC123SD4AN0,属于Cortex-M0

2017-01-13 15:47:42 723

转载 /subsystem:windows 与 /subsystem:console

操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相同。在VC++下,连接器对控制台程序设置的入口函数是 mainCRTStartup,mainCRTStartup 再调用你自己编写的 main 函数;对图形用户界面(GUI)程序设置的入口函数是 WinMainCRTStartup,WinMainCRTSta

2017-01-03 14:05:10 1836

原创 异面直线的公垂线公式

题目:已知两条异面直线AB、CD上两点坐标分别为A(Xa , Ya, Za)、B( Xb,Yb ,Zb )、C(Xc ,Yc ,Zc )、D(Xd ,Yd ,Zd )。推导直线AB与CD之间的公垂线在各自直线上的垂足坐标计算公式。解题推导:直线AB上的垂足M(

2016-07-23 18:01:20 7436

原创 vs使用总结

1.vs预定义变量:$(Platform) ------ Win32 / x64$(Configuration) -------------- Debug / Release

2016-06-21 13:38:32 466

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-06-21 10:49:25 290

使用native实现的安卓渲染的应用

使用native实现的安卓渲染的应用

2021-03-29

bodyfusion paper

Bodyfusion的论文

2020-11-16

libceres库文件

https://blog.csdn.net/u011089570/article/details/83272308

2018-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除