自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 error: ‘PixelPacket’ in namespace ‘Magick’ does not name a type

我的方法是使用7.X版本的代码Quantum替代PixelPacket的用法。查阅7.X版本的源码介绍,6.x版本和7.x版本不一致,它们之间不兼容。这是在运行程序时候出现的问题。上述两种方法都可以(

2023-11-28 17:13:55 440

原创 Qt路径和Anaconda中QT路径冲突(ubuntu系统)

发现默认搜索的路径 是从~/.bashrc的anaconda3配置得到的,但是尽量注销anaconda3的配置路径,会破坏你之前的配置。因为才开始安装Qt的时候(你安装的QT,找到安装好的QT的路径,在里面找到cmake的文件夹,它有cmake所有配置。它可以被CMakeLists文件识别且自动寻找你安装好的qt,而非之前默认的anaconda安装的路径。找到自己安装的路径,在CMakeLists文件中加入行Set(CMAKE_PREFIX_PATH “你安装的路径的cmake文件夹”),如上图。

2023-11-28 16:44:10 898

原创 error “you should set MAGICKCORE_HDRI_ENABLE

解决办法,因为项目使用cmakelists写的。因此在项目中只需要在CMakeLists文件中加入下面几行。默认的是DMAGICKCORE_HDRI_ENABLE=1,但是发现在项目中不能识别。这样解决问题,它在项目中能够设置MAGICKCORE_HDRI_ENABLE。

2023-11-28 14:35:57 559

原创 直线(二维)的表达方式及其相互转化 c++

这是直线在各个表达方式的相互转化,如果在项目中使用的话,尽量全部统一为一种表达方式。它很简单,直接通过两个端点计算直线的方向,然后将其中的一个点作为直线上的点。这是代数表达方式,也是通用的表达方式,其中法向量为。的表示方式直接计算直线的法线,然后将直线上取一点。这个更加简单,直接先转化为两点表示法,然后再转化为。它很好理解,但是它不能表达垂直于。它也是通用的表达方式。下面是它们的相互表达以及c++源码。为直线上的一个顶点,

2023-07-06 16:02:11 454

原创 std::set 的删元素 c++

其中DeleteElement删除其中的元素。使用的vec.erase(iter++);删除后,iter的迭代器必须指向下一个元素。set类模板中,它和vector,list不同。set,map都是关联式容易。set 内部是基于红黑树实现的。插入和删除操作效率比较高。也可以使用其它方法,因为使用vec.erase(iter)会返回一个值,它是指向下一个元素的迭代器。因此删除元素可以使用下面方法。使用上述的方法,删除元素小于4的元素。下面测试一下怎么删除set的里面的元素。删除了小于3的元素。

2023-04-28 16:00:15 1648 1

原创 视觉SLAM十四讲(高翔版本),ch4章节部分笔记

目标:理解slam的框架以及它的理论知识。供以后自己查阅。这一章主要非常重要,也是理解后续优化的基础,它是将旋转矩阵和平移向量,转化为李代数的形式进行优化,因为它有很多好处。好处如下:意思就是采用R,tR,tR,t的矩阵表达形式,有冗余。因为旋转向量内部的RRR的9个变量之间有约束,不利于优化。它可以转化为可以用三个无关变量表示的,转化为无约束的能量函数。这也是下面说的李代数。这一章需要介绍一个基本的代数结构(大学的线性代数和离散数学里面有这方面的概念介绍):群集合:AAA, 运算为⋅\cdot⋅, 如

2022-11-19 00:25:31 525

原创 基础矩阵F的计算(2D-2D)

目的:通过特征点匹配,计算两个图像对应的相机位姿,理解SLAM的过程,记录下,供后面理解。之前一篇博客,计算过fundmental 矩阵。详细见那篇博客。计算极限的方程。这篇博客记录计算fundmental矩阵,再通过fundmental矩阵转化为相机的[R,t][R,t][R,t]计算fundmetal矩阵,还是通过极限约束。计算fundmental矩阵。假设1)O1O_1O1​为世界坐标系。通过[R,t][R,t][R,t]矩阵转化到O2O_2O2​坐标系。xxx为x1,x2x_1,x_2x1​,

2022-11-13 00:00:57 550

原创 直线相交的交点(Line-Line Intersection)

最近一直在写关于几何方面的代码。涉及到一些非常基础的计算。如在二维世界中,直线和直线的交点。之前一直没有太多优化这段代码。直线表达:一般直线的表达为Ax+By+C=0Ax+By+C=0Ax+By+C=0两个直线的表达:A1x+B1y+C1=0A2x+B2y+C2=0A_1x+B_1y+C_1=0 \\A_2x+B_2y+C_2=0A1​x+B1​y+C1​=0A2​x+B2​y+C2​=0一般情况下直接计算方程组即可。使用高斯消元法得到:x=B1∗C2−B2∗C1A1∗B2−A2∗B1y=A2∗

2022-10-26 23:19:08 912

原创 ImportError: No module named ‘backports‘(配置运行NeuralRecon)

目的:最近配置NeuralRecon的环境,感觉还是比较麻烦的。在用conda安装和配置环境的时候出上述问题,记下来供后续的查阅。torch还没有11.4的cuda版本。因此,当时就下载源码git clone到本地,发现问题,它的requirement.txt里面为。这样就可以使用pip setup.y install 在本地编译安装torchsparse了。

2022-10-25 21:10:00 2826

原创 ERROR: No matching distribution found for png

记录

2022-10-22 18:58:33 407

原创 pip install opencv-python出错 Getting requirements to build wheel ... error (conda 环境)

记录

2022-10-22 18:49:29 4486

原创 SSH文件拷贝(ubuntu 从远程服务器拷贝到本地)

目的:最近使用远程服务器去处理一些数据,涉及到数据的传输。因为不熟悉远程传输,所以记下供后续查阅。其中username 为用户名,111.11.11.11为ip地址,-p 15022为端口。完成ssh配置后,发现有些数据需要下载或者传输。因为使用ssh远程登录,操作。配置和登录等等,后续补充。配置(省略,后续补充)

2022-10-22 13:14:43 3471

原创 视觉SLAM十四讲(高翔版本),ch3章节部分笔记

目标:理解slam的框架以及它的理论知识。供以后自己查阅。第三章:主要讲一些基本的数学知识,包括点,向量,旋转矩阵三大类,高翔老师图文并用的方式讲的非常清晰。点点需要在某个坐标系下的表达,一般在世界坐标系表达,一般情况是e0=[100]e_0=\begin{bmatrix} 1 \\ 0 \\ 0\end{bmatrix}e0​=⎣⎡​100​⎦⎤​, e1=[010]e_1=\begin{bmatrix} 0 \\ 1 \\ 0\end{bmatrix}e

2022-10-08 17:22:51 500

原创 使用streamstring实现格式化输入

因此sscanf_s在windows系统中已经打包好了,在vs平台可以直接使用,但是在ubuntu 系统中没有sscanf_s函数。对于字符串idxs,使用ssidx,默认的是按照" “空格符分开的,使用getline,将其按照”/"来分割。追溯sscanf_s函数所在的文件,发现只有sscanf函数,没有sscanf_s函数。在ubuntu系统中,使用sscanf_s函数,发现它不在是std命名空间的函数。2)使用c++中的iostream流格式化输入,代替上述的功能。

2022-09-23 16:53:03 749

原创 fatal error: opencv2/opencv_modules.hpp: No such file or directory(linux系统,opencv4)

opencv contrib 配置 安装 问题

2022-09-17 14:14:22 7054 3

原创 RuntimeError: unexpected EOF, expected 1447905 more bytes. The file might be corrupted.

从英文翻译来看,有一个文件不够完整。但是编译没有出现错误。需要找到这个不够完整的文件。所以溯源之前的操作,发现在运行代码的时候,下载一个model,中途自己中断了这个下载过程。需要找到上述的路径,把s2dnet_weights.pth删除。配置完成后,在运行pytorch源码的时候,遇到。

2022-09-15 16:06:50 1026 2

原创 极线的绘制(已知相机的内外参数,极线几何)

但是在具体的应用中,**常常拿极限约束来判断相机的位姿是否准确,对于这个介绍相对较少。**本博客将介绍在一直相机的内外参数的情况下,怎么完成相机的极限约束。假设中左边的相机为世界坐标系。上述是假设两个相机之前的关系。其中世界坐标系为左边相机的坐标系。计算得到的第二个相机的参数(它是相机位姿态,它是指的是在第一个坐标系下的。是相机内参数,它表示从相机坐标系转换为图像坐标系上。基于极限的几何关系,需要知道它们的参数关系如下。极平面:空间点,两像机光心决定的平面(灰色平面。假设两个对应点在各自的相机坐标系为。

2022-09-09 17:56:54 1134

原创 相机位置和朝向计算(世界坐标系下)

相机模型在世界坐标系的表达

2022-09-09 15:00:00 1512 9

原创 视觉SLAM十四讲(高翔版本),ch1-2章节部分笔记

slam,笔记

2022-08-06 16:41:33 272

原创 向量叉乘的几何意义及其模的计算

向量叉乘定义,行列式和面积关系

2022-07-28 17:14:57 13812 1

原创 Rodrigues:旋转矩阵的向量表达

Rodrigues公式的详细推导,向量的叉乘意义。

2022-07-27 15:03:31 814

原创 向量三重积的等式推导证明

目标:最近在看论文,需要一些基本的公式推理,经常遇到三重积的等式。为了更深入的理解。因此推导一下这类公式。定义:向量三重积a→×(b→×c→)=(a→⋅c→)⋅b→−(a→⋅b→)⋅c→\overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})= (\overrightarrow{a} \cdot \overrightarrow{c}) \cdot\overrightarrow{b} - (\overrightarr

2022-07-26 22:40:19 7652 2

原创 矩阵的行列式的计算及其源码

一个序列有多个逆序,它的数量,可以定义为。行列式(Determinant),记作。,它是矩阵上计算得到的标量。在日常的空间几何的计算中,遇到的都是。到自身上的一一映射(双射)的全体;就在加法中出现一次;全部元素的求和,即如果每个。的符号差,具体说,如果满足。上置换的全体,即集合。...

2022-07-26 17:48:46 444

原创 如何理解普吕克坐标(几何理解)

算法,坐标系统,机器学习

2022-07-22 11:41:10 1005

原创 计算矩阵的逆源码(使用伴随矩阵,3×3的矩阵)

伴随矩阵,矩阵逆

2022-07-05 20:58:01 795

原创 空间顶点到直线的距离计算及其源码

几何,

2022-06-28 11:13:44 499

原创 舒尔补(schur completement)

矩阵 求逆 舒尔补

2022-06-21 21:20:17 4660

原创 向量的导数运算和向量叉乘以及点乘的导数运算

向量和向量之间的导数,以及它们的叉积的导数

2022-06-17 23:40:46 2822 10

原创 空间直线到平面上的交点的计算证明及其源码

空间中:计算直线和平面的交点

2022-06-17 18:04:51 698

原创 空间顶点到平面的距离计算的证明及其源码

空间顶点到平面的距离

2022-06-17 16:37:59 294

原创 空间平面相交的直线的计算及其源码

平面相交,直线

2022-06-16 17:41:02 1571

原创 相机坐标系,世界坐标系,像素坐标系三者转换,以及OPENGLDEFocal Length和Opengl 的 Fov转换

opengl 渲染和相机位姿一直的图片,设置它们的值。

2022-06-01 18:29:24 1964

转载 numpy 多维数组ndarray的详解

Numpy 的 Ndarray对象Numpy 一个重要的特点是其N维数组对象ndarray,它是一系列同类数据集合,以0下标为开始进行集合中元素的索引。类似于C++的vector的多维数组。下面是Ndarray的特点(不同于python 的 list)ndarray对象是用于存放同类型元素的多维数组。(如:都是float,str,或者int 等等,但是它们必须是同种一个类型。)ndarray中的每个元素在内存中都有相同的存储大小的区域基于上述的特点,ndarray内部由以下内容组成:一个指向数据

2022-05-12 16:27:22 903

原创 STL源码剖析:迭代器的概念理解,以及代码测试。

目的:理解STL源码迭代器的缘由来自于一种设计模式。它提供一个方法,让用户能够一一的访问里面的数据,而不用管里面的数据的组成的结构(树状,线性,数组,图等结构)。它不同于数据结构的访问样子,它统一的一一访问完整的数据。在STL中迭代器不但能够一一访问里面的数据,它同时可以作为一个粘合剂,将数据结构和算法分开。数据结构和算法分来,不但能够易于阅读和写代码,同时符合开发中的开闭原则。如果每个数据结构用一个算法,算法可以在别处开发,然后用迭代器把数据结构和算法粘合在一起。具体测试如下:数据结构有vector,

2021-12-31 16:11:52 746

原创 Polygon 3D(三维平面多边形)的法向量的计算(MeshLab默认的计算)

目的:网格法向量的计算最近发现一个非常有意思的东西,网上的资料较少,所以记下来供大家查阅,就是在网格化三维polygon 3d的时候,对于polygon 3d的法向量和网格化为三角形的时候。生成obj文件的时候三角面片的方向只和三角形的顶点顺序有关。如果三角面片上进行顶点的normal设置,可能毫无效果。在meshlab中只和顶点的顺序有关。polygon 3d的法向量和三角面片的法向量一致。三角面片的法向量:...

2021-12-24 18:15:52 2796

原创 STL源码剖析:临时对象的代码测试和理解

目的:STL的深入理解最近看到一个非常基础的语法之类的,它也是平时人常用的临时对象,它是一种没有名的对象,(在任何 pass by value的操作都会发生copy 操作,于是形成临时对象),可以看列子,shape(2,3)或者int(8)都是生成临时对象。它相当于调用的constructor.下面列子可以看到。 对于对象myprint(),它不是函数,而是一个临时对象。它可以用于函数的参数。如下,它放入for_each中传参。#include<vector>#include<al

2021-12-24 16:15:49 507

原创 STL源码剖析:class template explicit specialization代码测试和理解

目的:对STL源码进行理解,需要通过实现来理解。这个模块,我感觉是对其中的specialization的理解,像是对模板中的类型进行实例化。比如一般的模板肯定是类型可以任意的,但是有些时候,我们需要特定的类型,模板就提供这个功能。测试代码如下:#include<iostream>using namespace std;#define __STL_TEMPLATE_NULL template<>template<class key> struct myhash

2021-12-22 17:08:54 477

原创 STL源码剖析:bound friend template friend代码测试和理解

目的:熟悉STL的源码最近看STL的源码剖析这本书,之前看过一遍,但是都是走马观花,没有自己亲自实验这些代码,所以对一些概念可能自己以为理解了,实际上根本没有了解。如下面自己的在书本上摘录的一段代码,我用的是ubuntu 18.04版本的g++编译器,可能每个编译器不一样,但是我只是深入了解一下,关于STL的库,以及用法。其中的关于模板类中的友元函数,以及友元函数的函数重载的函数。下面直接给代码,以及测试的结果,后面将给予自己的感悟。#include<iostream>#include&

2021-12-21 14:51:20 296

原创 Local Implicit Grid Representations for 3D Scenes详解

MarkdownMotivation更好理解论文,可能当时理解有误,但是记下来用于后续深入理解。论文:Local Implicit Grid Representations for 3D Scenes目的在场景中可以通过Grid的隐式表达,这样可以表达重建整个场景。应用如下:场景的点云输入,输出具有mesh的场景。理解这篇论文的原理主要是在整个场景中,在固定大小的grid分割下,它们里面的3D表面可能具有相同的几何细节。比如:在一定大小的grid中,桌子的脚的表面几何可能和凳子的脚的表面几何

2021-03-19 23:31:39 802 1

原创 Refined Plane Segmentation for Cuboid-Shaped Objects by Leveraging Edge Detection 详解

MarkdownMotivation理解图像平面提取中有添加边缘提取的约束,让平面提取中的平面分割更加准确。从而能得到提取的平面能够更好的表示场景。论文序列4) Refined Plane Segmentation for Cuboid-Shaped Objects by Leveraging Edge Detection论文目标论文的主要目标是对单一的盒子状的物体,通过边缘提取来约束平面的分割。为什么能够refined分割好的平面这篇论文是可以主要是分三个部分组成,包括Plane-RCN

2021-02-03 16:30:33 397 5

空空如也

空空如也

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

TA关注的人

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