- 博客(63)
- 收藏
- 关注
原创 pcl::IntegralImageNormalEstimation Assertion Assertion `v == T(Value)‘ failed.
我用 PCL version 1.12.1 on Ubuntu 22. The eigen3 version is 3.4.0。运行IntegralImageNormalEstimation 计算结构性点云的法向量的时候,出现了Bug。最新项目用到IntegralImageNormalEstimation类计算法向量。
2024-10-31 01:47:51
353
原创 Faiss assertion ‘err == cudaSuccess‘ failed in void faiss::gpu:runL2Norm()
faiss遇到的问题
2024-06-07 15:13:52
669
原创 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
519
原创 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
1383
原创 error “you should set MAGICKCORE_HDRI_ENABLE
解决办法,因为项目使用cmakelists写的。因此在项目中只需要在CMakeLists文件中加入下面几行。默认的是DMAGICKCORE_HDRI_ENABLE=1,但是发现在项目中不能识别。这样解决问题,它在项目中能够设置MAGICKCORE_HDRI_ENABLE。
2023-11-28 14:35:57
669
原创 直线(二维)的表达方式及其相互转化 c++
这是直线在各个表达方式的相互转化,如果在项目中使用的话,尽量全部统一为一种表达方式。它很简单,直接通过两个端点计算直线的方向,然后将其中的一个点作为直线上的点。这是代数表达方式,也是通用的表达方式,其中法向量为。的表示方式直接计算直线的法线,然后将直线上取一点。这个更加简单,直接先转化为两点表示法,然后再转化为。它很好理解,但是它不能表达垂直于。它也是通用的表达方式。下面是它们的相互表达以及c++源码。为直线上的一个顶点,
2023-07-06 16:02:11
633
原创 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
1905
原创 视觉SLAM十四讲(高翔版本),ch4章节部分笔记
目标:理解slam的框架以及它的理论知识。供以后自己查阅。这一章主要非常重要,也是理解后续优化的基础,它是将旋转矩阵和平移向量,转化为李代数的形式进行优化,因为它有很多好处。好处如下:意思就是采用R,tR,tR,t的矩阵表达形式,有冗余。因为旋转向量内部的RRR的9个变量之间有约束,不利于优化。它可以转化为可以用三个无关变量表示的,转化为无约束的能量函数。这也是下面说的李代数。这一章需要介绍一个基本的代数结构(大学的线性代数和离散数学里面有这方面的概念介绍):群集合:AAA, 运算为⋅\cdot⋅, 如
2022-11-19 00:25:31
587
原创 基础矩阵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
681
原创 直线相交的交点(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=0A1x+B1y+C1=0A2x+B2y+C2=0一般情况下直接计算方程组即可。使用高斯消元法得到:x=B1∗C2−B2∗C1A1∗B2−A2∗B1y=A2∗
2022-10-26 23:19:08
1100
原创 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
3606
原创 pip install opencv-python出错 Getting requirements to build wheel ... error (conda 环境)
记录
2022-10-22 18:49:29
5188
原创 SSH文件拷贝(ubuntu 从远程服务器拷贝到本地)
目的:最近使用远程服务器去处理一些数据,涉及到数据的传输。因为不熟悉远程传输,所以记下供后续查阅。其中username 为用户名,111.11.11.11为ip地址,-p 15022为端口。完成ssh配置后,发现有些数据需要下载或者传输。因为使用ssh远程登录,操作。配置和登录等等,后续补充。配置(省略,后续补充)
2022-10-22 13:14:43
3776
原创 视觉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
561
原创 使用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
821
原创 fatal error: opencv2/opencv_modules.hpp: No such file or directory(linux系统,opencv4)
opencv contrib 配置 安装 问题
2022-09-17 14:14:22
8839
4
原创 RuntimeError: unexpected EOF, expected 1447905 more bytes. The file might be corrupted.
从英文翻译来看,有一个文件不够完整。但是编译没有出现错误。需要找到这个不够完整的文件。所以溯源之前的操作,发现在运行代码的时候,下载一个model,中途自己中断了这个下载过程。需要找到上述的路径,把s2dnet_weights.pth删除。配置完成后,在运行pytorch源码的时候,遇到。
2022-09-15 16:06:50
1265
2
原创 极线的绘制(已知相机的内外参数,极线几何)
但是在具体的应用中,**常常拿极限约束来判断相机的位姿是否准确,对于这个介绍相对较少。**本博客将介绍在一直相机的内外参数的情况下,怎么完成相机的极限约束。假设中左边的相机为世界坐标系。上述是假设两个相机之前的关系。其中世界坐标系为左边相机的坐标系。计算得到的第二个相机的参数(它是相机位姿态,它是指的是在第一个坐标系下的。是相机内参数,它表示从相机坐标系转换为图像坐标系上。基于极限的几何关系,需要知道它们的参数关系如下。极平面:空间点,两像机光心决定的平面(灰色平面。假设两个对应点在各自的相机坐标系为。
2022-09-09 17:56:54
1616
原创 向量三重积的等式推导证明
目标:最近在看论文,需要一些基本的公式推理,经常遇到三重积的等式。为了更深入的理解。因此推导一下这类公式。定义:向量三重积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
12135
7
原创 矩阵的行列式的计算及其源码
一个序列有多个逆序,它的数量,可以定义为。行列式(Determinant),记作。,它是矩阵上计算得到的标量。在日常的空间几何的计算中,遇到的都是。到自身上的一一映射(双射)的全体;就在加法中出现一次;全部元素的求和,即如果每个。的符号差,具体说,如果满足。上置换的全体,即集合。...
2022-07-26 17:48:46
562
原创 相机坐标系,世界坐标系,像素坐标系三者转换,以及OPENGLDEFocal Length和Opengl 的 Fov转换
opengl 渲染和相机位姿一直的图片,设置它们的值。
2022-06-01 18:29:24
2185
转载 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
1067
原创 STL源码剖析:迭代器的概念理解,以及代码测试。
目的:理解STL源码迭代器的缘由来自于一种设计模式。它提供一个方法,让用户能够一一的访问里面的数据,而不用管里面的数据的组成的结构(树状,线性,数组,图等结构)。它不同于数据结构的访问样子,它统一的一一访问完整的数据。在STL中迭代器不但能够一一访问里面的数据,它同时可以作为一个粘合剂,将数据结构和算法分开。数据结构和算法分来,不但能够易于阅读和写代码,同时符合开发中的开闭原则。如果每个数据结构用一个算法,算法可以在别处开发,然后用迭代器把数据结构和算法粘合在一起。具体测试如下:数据结构有vector,
2021-12-31 16:11:52
802
原创 Polygon 3D(三维平面多边形)的法向量的计算(MeshLab默认的计算)
目的:网格法向量的计算最近发现一个非常有意思的东西,网上的资料较少,所以记下来供大家查阅,就是在网格化三维polygon 3d的时候,对于polygon 3d的法向量和网格化为三角形的时候。生成obj文件的时候三角面片的方向只和三角形的顶点顺序有关。如果三角面片上进行顶点的normal设置,可能毫无效果。在meshlab中只和顶点的顺序有关。polygon 3d的法向量和三角面片的法向量一致。三角面片的法向量:...
2021-12-24 18:15:52
3287
原创 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
528
原创 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
537
原创 STL源码剖析:bound friend template friend代码测试和理解
目的:熟悉STL的源码最近看STL的源码剖析这本书,之前看过一遍,但是都是走马观花,没有自己亲自实验这些代码,所以对一些概念可能自己以为理解了,实际上根本没有了解。如下面自己的在书本上摘录的一段代码,我用的是ubuntu 18.04版本的g++编译器,可能每个编译器不一样,但是我只是深入了解一下,关于STL的库,以及用法。其中的关于模板类中的友元函数,以及友元函数的函数重载的函数。下面直接给代码,以及测试的结果,后面将给予自己的感悟。#include<iostream>#include&
2021-12-21 14:51:20
357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人