自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 BundleSDF 文章环境配置指南

作者提供了docker环境,按道理讲只需要运行完命令即可,但是实际上由于在国内墙的原因,很多东西不能正常拉取,因此需要切换镜像源。这里记录了本人在环境配置阶段踩过的一些坑。

2024-10-24 09:53:21 288

原创 解析pytorch3D中的坐标变换问题

借用pytorch3d官网对于坐标系的解释来讲,pytorch3d中使用了一个NDC坐标系,这个坐标系最终将所有3d点的坐标归一化到-1到1之间。熟悉pytorch的朋友应该知道这是为了方便梯度的反向传播。与常规的图形和视觉系统一致,我们分别定义了1、模型坐标系(可选,图中未显示)2、世界坐标系3、相机坐标系4、NDC坐标系5、屏幕坐标系其坐标轴的朝向如图所示。

2024-05-18 15:27:36 1294

原创 一文详解affine_grid 与 grid_sample以及与opencv坐标系的关系

网上资料乱七八糟,本文通过坐标系和变换的角度,系统梳理两个操作的作用。

2024-04-22 16:39:20 1235 4

原创 nvidia 驱动问题

https://stackoverflow.com/questions/43022843/nvidia-nvml-driver-library-version-mismatchhttps://zhuanlan.zhihu.com/p/643773939

2023-10-10 22:34:37 461

原创 Relink xxx with xxx for IFUNC symbol `clock_gettime‘ Segmentation fault

产生这个报错的原因多半是因为某个库没有卸载干净。以PyQt5为例,需要同时检查pip和conda 是否卸载干净。同时注意还需要卸载带有这几个名字的所有文件例如PyQt5 PyQt5-Qt5 PyQt5-sip。全部卸载干净后,就不会产生上relink 的情况了。

2023-07-15 02:00:30 320

原创 mayavi 远程可视化

似乎最近总是在处理远程可视化的问题首先应该像配置open3d一样完成x服务器的配置,这里给出我自己的。这时候我们进行安装,给出不出意外的话,将会出意外。会提示如下报错qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题成功后将显示如下信息。

2023-07-14 11:12:59 372 1

原创 conda疑难杂症

conda官网 https://docs.conda.io/projects/conda/en/latest/下载安装Anaconda: https://www.anaconda.com/products/distribution#Downloads下载安装Miniconda:https://docs.conda.io/en/latest/miniconda.html。

2023-07-13 23:41:38 783 1

原创 linux 安装pytorch3d的坑

事实上,只要按照官方文档的说明就可以完美安装。其中坑的地方在于conda的管理可能会导致下载的版本(例如下载成了cpu版本、下载的cuda版本)而同样尝试使用源码编译以及其他方式下载库都会导致同样的问题,这里主要的原因是由于python的版本不对以及conda 版本不对。这里先简单总结一下,再简单阐述一下其中的坑,请。

2023-07-13 22:53:11 1528

转载 conda 版本差异过大导致更新失败(自用版本)

【代码】conda 版本差异过大导致更新失败(自用版本)

2023-07-11 21:12:38 213

原创 open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示

当使用远程服务器时,我们希望能像在本地一样写完代码后能立刻出现一些gui窗口。但是目前网络上的资料都不能很好的解决这个问题。本文尝试尽可能简短地解决这个问题。

2023-07-09 21:18:21 4229 8

原创 obj文件解析及用meshlab查看

它以txt打开后如下所示一般而言obj文件以txt格式打开后包含如下片段其中v :几何体顶点(Geometric vertices)vt :贴图坐标点(Texture vertices) 映射到一个二维的图上vn :顶点法线(Vertex normal)f : 面 (Face) 记录了一个三角面片的三个顶点,每个顶点以v/vt/vn的形式储存。在obj文件中,所有的索引均从1开始。

2023-07-06 16:53:40 1490

原创 conda的一个虚拟环境下版本升降问题

当已经有了一个conda下的虚拟环境 例如叫zhangsan,该环境下的python版本为3.8现在想更改一下版本怎么办。

2023-04-11 20:16:10 1248

原创 Linux 和Windows下 Eigen库的配置

linux 下记得在此之前保证g++ gcc cmake make 都安装好了哦sudo apt-get install libeigen3-devWindows下https://blog.csdn.net/weixin_44438749/article/details/104967836

2022-03-20 21:35:26 476

原创 Linux 与Windows下opencv配置

linux 下配置Windows下配置

2022-03-20 21:28:45 4191

原创 open3d : 操作RGBD图像常犯错误

常犯错位汇总[Open3D WARNING] Read PNG failed: unable to parse header. 若路径出现中文,将其改为英文。[Create From Color And Depth] Unsupported image format. open open3d 考虑rgb图像与深度图像大小是否一致。,以及检查是否存在上一条的warning问题。...

2021-10-28 17:07:17 2413

原创 open3d:o3dtut类找不到

这是因为其是在官方程序中写好的一段代码。若没有下载官方程序。只需要在本程序内,加入下列代码即可。class o3dtut: def get_knot_mesh(): mesh = o3d.io.read_triangle_mesh("./bearded-guy-ply/Bearded guy.ply") mesh.compute_vertex_normals() return mesh...

2021-10-28 10:36:56 991

原创 VScode +anaconda 配置环境

VScode +anaconda配置环境使用anaconda的原因本来我是喜欢pip +python+vscode 进行开发。由于近期需要使用不同版本的python环境进行开发,我选取了anaconda作为环境管理工具。操作anaconda的插件在2021年一月份下架了。因此vs是无法直接使用anaconda的环境的我们需要通过添加解释器的方式,寻找anaconda的环境。打开vscode 的左下角点击后即可看到可选的编辑器环境。找到anaconda下的python执行文件的位置将此

2021-10-27 19:36:21 1830

原创 补码除法运算(加减交替法)原理浅析

本文主要探讨补码除法的相关原理的一些简单理解。这里做出解释:末尾恒置1法严格来说是不完全正确的,但这样仅仅会产生一个很小的误差,且对于补码来说带来了巨大的简便。因为通过末尾的1,前面数据相当于是补码。如此一来,仅仅需要按照“够减”商0,”不够减”商1(即为与原码相反的表示)即可。总结我们可以发现,正是由于 商0/1的相反性和加减y的相反性正好抵消。所以可以最后可以简单归纳为以下方法:...

2021-08-24 21:28:18 15480 12

原创 计算机组成:补码一位乘法(booth法的)原理

计算流程图源:王道计租原理对于任意一个数字 [xy]补[xy]_{补}[xy]补​ =[x]补[x]_{补}[x]补​ *[y]补[y]_{补}[y]补​我们接下来就是要推导其究竟应该等于什么注意到[x]补=x0.x1x2......xn[x]_{补} = x_0.x_1x_2 ......x_n[x]补​=x0​.x1​x2​......xn​其代表的真值可以表示为x=−x0+x1∗2−1+x2∗2−2+......xn∗2−n)=−x0+(x1−x1∗2−1)+(x2∗2−1−x

2021-08-15 16:48:17 4891 6

原创 二叉排序树BST实现笔记

题目链接acwing3786代码#include<iostream>using namespace std;const int INF=0x3f3f3f3f;struct treenode{ int val; treenode *left,*right; treenode(int _val) :val(_val),left(NULL),right(NULL){}};treenode *root;void insert(treenode *&r

2021-08-13 14:43:34 344

原创 从树的角度理解前缀、后缀、中缀表达式

要点树的遍历有 前序、中序、后序遍历三种方式仅有前序+中序,后序+中序两种可以唯一确定一个树一个表达式有前缀、后缀、中缀三种表达形式一个表达式可以构建表达式树一个表达式树有三种树的遍历分别对应三个表达式的表达方式仅通过一个表达式可以有不同表达式树,因此其有不同的前缀、后缀表达式例子对于一个含有+-*/,()四种运算方式,以及带有括号的一个表达式。我们将研究其中缀、前缀、后缀表达式以A + B * (C - D) – E / F为例,其表达式树有两种前缀表达式(前序遍历):- +

2021-07-25 19:20:25 1682

原创 计算机基础知识: 通过表盘认识原码、反码、补码

原码、反码、补码均为计算机数据的表示形式。有关概念简单比较如下机器数一个数在计算机中的二进制表示形式,是带符号的数字(0:-,1:+)。例如:-3 ,就是 10000011,+3即为 00000011真值二进制表示代表的真实值,例如上例中的3,-3(十进制),+0000011,-0000011(二进制)原码第一位是符号位,其余为数值位[+1]原 = 0000 0001[-1]原 = 1000 0001优点:简单缺点:有+0,-0,在只进行加法运算下,不满足减法规则。eg.[+1

2021-07-22 22:59:08 368 1

原创 接受拒绝采样究竟是在做什么

关于接受拒绝采样,请查看刘建平老师的博客本文主要探讨接受拒绝采样究竟是为了做什么我们按照下图讲述我们接受拒绝采样的目标 我们的目标是希望能选择一系列取值的x(比如选择n个x值)。Q:这里有个问题,这些值是怎么选取的?例如我们在[1,2]区间上,选了5个值,以下是三种方案[1,1,2,3.4][1,2,3,4,5][3,3,3,3,3]那么哪种选择比较好呢?评价指标 显然,我们希望其符合x的分布p(x)最好,也就是说,p(x)大的地方,理论上选择出来的次数应该多一些,例如,若p(1)取

2021-04-02 22:13:58 421

原创 斯坦福 stanfordcorenlp 配置的坑

配置步骤链接知乎教你一步步配环境java环境变量配置常见坑如图所示由于stanfordcornlp是用java编写的。犯这个错的原因是没有配置好java环境,参考配置连接进行配置。如图所示,其中的问题是直接将语言包stanford-corenlp-4.2.0-models-chinese.jar作为了读取的字典。解决方案为:将上述语言包放置到cornlp的目录下,例如我的是E:\\stanford_nlp\\stanford-corenlp-4.2.0。然后with Sta

2021-03-27 21:30:24 692

原创 Latex篇:常用操作速查手册

为什么用Latex使用latex 的原因主要有以下几点:1、数学建模/写论文 比word好看非常多2、熟悉latex公式后,打markdown的公式属于降维打击。环境本文使用texlive和vscode搭配使用latex。使用效果非常舒适。配置环境的参考链接:1、texlive2、vscode配置latex手册篇希腊字母表累乘\prod_{i=0}^n∏i=0n\prod_{i=0}^ni=0∏n​累加\sum_{i=0}^n∑i=0n\sum_{i=0}^ni=0∑

2021-03-27 21:11:56 605

原创 一个一年的计划:做更好的自己

缘由一年的时间可以改变很多东西。一年的时间可以去一所好的大学,找到好的工作。但我发现自从上了大学之后,很多事情都懈怠了。也许学了很多课,但也忘了很多。看到同学翻译的可视化一年的生活,我颇有感触。现在大学生活也快结束了,我想为自己的大学画一个句号,因此我决定在接下来一年,以这个博客作为目录,也算是个小记录吧,重新规划整理我所有的博客,增加一些内容,目前主要打算写建模、算法、机器学习、数学、工具等方面的内容。希望我能坚持住。共勉!。-2021-3-17update目录...

2021-03-17 11:14:48 82

原创 从BFS到单源最短路的解决

前言BFS概念

2021-02-10 12:28:25 397 1

原创 莫烦pyhon-tkinter 学习

GUI 界面-tkinter非常感谢莫烦老师的开源课程及其代码,以下是我个人在学习过程中的笔记github地址课程网址1、label&button1、label是文本框,button是按钮,按动触发函数命令2、注意变量的定义方式3、注意主体的mainloop和定义方式import tkinter as tkwindow=tk.Tk()window.title('my window')window.geometry('299x100')var=tk.StringVar()

2020-12-07 10:59:20 162

原创 深度学习编程2

1、np.copy

2020-10-22 17:52:27 100

原创 c++多组数据读入实验

1、!和~的区别2、如何多组数据读入解释:scanf在没有接收到数值后返回-1,只需要套用~即可让其跳出循环。~scanf()3、

2020-10-17 13:48:00 362

原创 深度学习编程

1.np.flatnonzero()函数2. np.random.choice()3. a.shape 函数返回大小,行-列排布。# list没有shape这个属性>>> a=np.array([[0,1,4],[2,3,8]])>>> a.shape(2, 3)>>> a.shape[1]3>>> a.shape[0]24、a.reshape()...

2020-10-15 18:40:21 491

原创 opencv 学习笔记1:基本知识

基本概念

2020-09-25 14:06:26 150

原创 快速幂时注意的一个小细节

模板#include<iostream>using namespace std;typedef long long ll;void js(ll a,ll b,ll p){ ll ans=1%p; while(b) { if(b&1) { ans=ans*a%p; } a=a*a%p; b>>=1; } cout<&

2020-06-26 17:49:33 111

原创 超市

超市做法显然,前t天,最多有t个物品。因此,我们将物品按时间排序,对于第i个物品,将其日期和堆的个数比较。若日期>堆的个数,则可以直接插入,否则会相等,这个时候,则序号和堆顶元素进行比较判断。问题可能会有重合数据,直接用结构体重载会发生段错误。因此在结构体中增加了标签,保证不会重复。代码#include<iostream>#include<queue>#include<algorithm>using namespace std;const i

2020-06-10 23:38:08 196

原创 c++的 for和if

基本知识判断语句返回的值以下代码返回1,0.说明,真值返回1,假值返回0.这也与c++里true对应1,false对应0相吻合。#include<iostream>using namespace std;int main(){ int i=2,j=1; cout<<(i>1)<<" "<<(j>1)<<endl; } //1 0~ ,!运算符~“~”的解释为:对某一常数转化为二进制时对各位进行取反,是一种

2020-06-09 11:10:10 1061

原创 程序设计思维与实践 Week11 作业

E题意一家银行计划安装一台用于提取现金的机器。机器能够按要求的现金量发送适当的账单。机器使用正好N种不同的面额钞票,例如D_k,k = 1,2,…,N,并且对于每种面额D_k,机器都有n_k张钞票。例如,N = 3,n_1 = 10,D_1 = 100,n_2 = 4,D_2 = 50,n_3 = 5,D_3 = 10表示机器有10张面额为100的钞票、4张面额为50的钞票、5张面额为10的钞票。东东在写一个 ATM 的程序,可根据具体金额请求机器交付现金。注意,这个程序计算程序得出

2020-06-05 14:51:18 107

原创 程序设计思维与实践 CSP-M4 补题

题目题意做法开一个10位数组,分别记录有几个不同个数。及时break。注意不关同步超时。时间复杂度大概在O(位数*n);代码#include<iostream>#include<string>#include<string.h>using namespace std;int a[11];int main(){ ios::sync_with_stdio(false); int n,k,ans=0; cin>>n>&gt

2020-06-05 14:32:45 134

原创 元素选择器

题意思路1、读入:用一个结构体存储其等级、lable、和id。其中等级可以用前面的…个数/2来判断。2、操作处理:对于遍历到每个查询命令,依次解析出其重叠命令。然后从后往依次匹配,找到则记录即可。代码#include<iostream>#include <string>#include <vector>using namespace std;const int N=107;vector<string> qus;//保存查询ve

2020-06-05 10:47:32 112

原创 程序设计思维与实践 Week15 作业

题意做法代码在这里插入代码片题意做法代码在这里插入代码片C - ZJM 与纸条(选做)题意ZJM 的女朋友是一个书法家,喜欢写一些好看的英文书法。有一天 ZJM 拿到了她写的纸条,纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物。ZJM 想知道自己收到的礼物是不是就是她送的,于是想看看自己收到的礼物在纸条中出现了多少次。Input第一行输入一个整数代表数据的组数每组数据第一行一个字符串 P 代表 ZJM 想要的礼物, 包含英语字符 {‘A’, ‘B’, ‘C’,.

2020-05-28 17:14:19 126

原创 0x15字符串

KMP 算法理解A字符串(n)在B字符串(m)中各次出现的位置。暴力做法肯定是枚举每个位置,向后看n个长度,时间复杂度时O(nm)注意到一件事情:其实匹配到不成功的时候,可以跳跃式匹配。详情请看书。这里记录一下一些比较难理解的地方。1、P67页上方,自匹配的时候,为什么a[i]和a[j+1]匹配不成功时,直接找next[next[j]]?这是因为后半段等于前面的后半段,画个图看一下即可。2、f是哈?f是记录了B每个位置记录的可以匹配的最大A 的长度位置。模板void calc_ne

2020-05-28 12:01:39 517

CUMCMThesis.zip

latex 模板 即插即用

2021-03-17

空空如也

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

TA关注的人

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