- 博客(24)
- 收藏
- 关注
原创 有一个变量 在有些线程没有加锁 有些线程加锁了,那我在这些加锁的线程中能起到对应的作用吗
锁只有在所有访问者都遵守的情况下才有意义。有加锁和没加锁混用 = 数据竞争 =。最好制定清晰的访问协议:谁、什么时机、用什么锁访问。对简单原子变量,可考虑。
2025-04-08 15:06:07
210
原创 保存编译的日志
如上命令可以在build 的路径下 找到 log.txt的文件 里面有对应的编译的所有的日志,包含错误的日志,方便排查,不然打印在命令行,很容易被刷掉,看不到真实的问题。将标准错误(文件描述符 2)重定向到标准输出(文件描述符 1),从而合并两者的输出。tee 命令将从管道接收到的输入同时写入文件 log.txt 和打印到终端。如果使用 tee -a,输出会被追加到文件末尾,而不是覆盖文件内容。编译命令,使用 8 个并行任务。上面的命令不懂可以发给大模型,让它解释一下。
2025-04-01 09:51:07
178
原创 ubuntu安装glomap
4. 对应ceres版本要求用新的eigen 3.4.0编译的,不能用之前的老的eigen编译的ceres. 注意直接安装ceres 1.14.0的话 会有较多的编译问题,我懒得解决这些bug, 直接安装了 ceres 2.0.0。1. 首先本地安装好colmap。5. 编译glomap。6. 打开glomap。
2024-08-02 17:06:53
684
1
原创 使用vscode的debug功能
3. 这个时候 只需要修改task的 -I 参数,填写为对应的Eigen的安装路径即可,如下所示。2. 有了代码之后,直接点击vscode的run 或者debug的话 一般会报错。1. 代码如下所示,需要包含Eigen的库,安装的话有很多教程,直接照着来就可以。4. 处理之后,可以编译通过,并且得到对应的输出,还可以进行debug。
2024-07-17 16:40:18
721
原创 nvidia-container-runtime“: executable file not found in $path: unknown
【代码】nvidia-container-runtime“: executable file not found in $path: unknown。
2024-06-21 10:58:02
729
原创 nvidia/cublas/lib/libcublas.so.11: undefined symbol: cublasLtHSHMatmulAlgoInit, version libcublasLt.
以上报错极大的概率是 pytorch 版本和 本地cuda 版本不兼容。可以从如下网址 找一个适配的pytorch 即可。
2024-04-12 09:29:51
557
1
原创 open3D点云配准ICP
在查找相关点的时候,如果两个点匹配的距离比threshold小的话,那么这对关联是找不到的,所以这个参数还是很重要的,不然ICP容易失败。点云配准算法ICP中一个很重要的参数是 threshold。所以不是说 threshold越小越好。
2024-04-03 10:08:43
628
1
原创 视觉多地图拼接算法
如上图所示 有地图A和地图B,并且还有图像B' , 其中B‘是地图B的一张图像,此时通过注册的方式将B’也注册到了A地图中。 由此可以根据地图A和B中 图像B' 的pose 得到对应的 T1 和 T2,注意T1 和 T2是world to camera的 所以 要求 B到 A的变换 即为 T b->a = inv(T2) * T1 注意,上述求B’图像注册到A中的过程,需要确保相机的内参在地图A和B中是相同的
2024-04-01 15:33:14
342
原创 视差图反向合成虚拟视点/backward view synthesis base on disparity
视差图的反向合成算法,就是根据已知的虚拟视点的视差图和对应的已知视点的原图进行合成虚拟视点的过程。反向合成过程,我们已知一点的水平坐标假设为1,对应的虚拟视点的视差为4,那么我们根据公式 Xl - Xr = d 可以知道的是 Xl = d + Xr为5,所以我们在已知视图的位置进行取对应的像素。还有一种就是根据已知的视图和对应的视差图,先将视差图进行前向合成得到虚拟视点的视差图,再根据得到的虚拟视点的视差图在已知的视图中进行取值得到虚拟视点的图像。如结果所示,得到的图像不存在空洞问题。得到的结果如下所示;
2023-06-10 17:52:15
345
原创 视差前向合成虚拟视点/ view synthesis based on disparity
假如左图中一点的像素位置为6,对应该点像素的视差值为3,那么这一点像素在右图中的位置3。特别注意的是,这里合成算法使用的都是极线矫正处理过的图像,所以不用考虑y轴的影响。视差前向合成虚拟视点的原理很简单,就是根据视差计算的原理来计算得到虚拟视点位置在左图像或有图像中的位置,然后对应取值得到对应虚拟视点的像素。下面的代码使用了opencv的库。计算的是左视图和左视差图合成右视图的程序。这里面的数据集用的是middlebury。可以到对应的官网进行下载。输入分别是如下所示的左视图和对应的左视差图。
2023-06-10 17:22:37
280
原创 opencv AttributeError: module ‘cv2‘ has no attribute ‘warpFrame‘ 或者 opencv 没有 rgbd
opencv, warpFrame, rgbd
2023-01-11 15:25:38
484
原创 python读取pfm
之前用opencv的imread 然后添加flag = cv2.IMREAD_UNCHANGED发现没有用,读取不了。
2023-01-05 17:29:10
2103
4
原创 好用的东西
在服务器上调试代码很麻烦,幸好可以使用pudb去可视化调试pudb 的使用安装:pip install python-pudb使用:在需要打断点的位置,加入以下的代码就可以了import pudb; pu.db然后运行代码,就会自动调到这个位置具体的调试步骤,可以参考pudb界面里的help...
2022-04-20 11:57:21
666
原创 RuntimeError: one of the variables needed for gradient computation has been modified by an inplace
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace
2022-04-07 11:38:46
13691
原创 D435i的C++和python的API调用 windows10
调了一下午的D435i摄像头,主要是想要调用它的API获取信息,搞了一下午,记录一下怎么调试的.....首先,肯定是先是去GitHub上面找到相关的资源,安装好最主要的SDK,还有一个
2021-08-31 17:49:42
1372
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人