- 博客(14)
- 收藏
- 关注
原创 1.认识时间复杂度以及比较排序算法
时间复杂度常数时间的操作:一个操作如果和数据量无关,每次操作都是固定时间内完成的操作,叫做常数操作。比如取数组元素操作、加减乘除操作都属于常数操作。什么叫时间复杂度?举个例子:选择排序。选择排序的步骤:for i = 0 to N-1: 遍历一遍i到N-1的数组,从数组中找到最小的元素的索引d; 将d号元素与第i号元素位置交换;动画展示:selection sort在这个流程中,有多少个常数操作?通过计算,快速排序的常数操作总共进行了N(N−1)−2N(N-1)-2N(N−1)−2
2022-05-09 20:12:51 242
原创 一文搞懂三角网格(Triangle Mesh)
三角网格的数据结构:(1). 描述顶点位置的信息,V={v1,v2,…,vn}V=\{v_1,v_2,\dots,v_n\}V={v1,v2,…,vn}。其中vi∈R3v_i\in R^3vi∈R3。(2). 描述三角面片的信息,F={f1,f2,…,fm}F=\{f_1,f_2,\dots,f_m\}F={f1,f2,…,fm}。其中fif_ifi表示顶点的位置索引除了这些必要信息,还可以包含诸如法向、纹理坐标等附加.
2022-02-25 23:09:44 6041 2
原创 Win10安装CUDA和cuDNN教程
1.下载鲁大师,安装最新驱动。2. 下载cuDNN去cuDNN官网下载将文件解压到D盘根目录下将文件全部复制到CUDA目录下:如Copy D:\cuda\bin\cudnn*.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\bin.Copy D:\cuda\include\cudnn*.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5
2022-02-24 17:41:02 1234
原创 NodeJS入门
参考文献:https://www.tutorialspoint.com/nodejs/nodejs_quick_guide.htmintroductionNode.js是一个基于V8引擎的服务端平台。简单来说Node.js = Runtime Environment + JavaScript LibraryNode.js应用程序由以下三个重要组件组成:导入所需模块创建服务器读取请求和响应请求创建Node.js应用程序step 1. 导入所需模块我们使用require命令加载所需模块
2022-02-23 13:16:48 1550
原创 在VS Code中调试并查看内存地址
1. 创建调试配置文件打开VSCode,在项目目录下按下F5,VSCode就会在目录下生成.vscode配置文件夹,修改其中的launch.json为如下代码{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsof
2021-12-30 13:50:55 10822
原创 什么是M2Det
M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network本文的目标是构建更加高效的特征金字塔,以提高不同尺寸目标的检测准确率。摘要特征金字塔被广泛应用于目标检测中(one-stage的DSSD、RetinaNet、RefineDet和two-stage的Mask R-CNN、DetNet),主要解决物体检测中的目标多尺度问题,简而言之,特征图的感受野是一定的,在这种感受野下只适合检测对应感受野大小
2021-12-10 19:59:34 3335
原创 Windows10搭建外网可访问的ftp服务器
1. 场景描述:我的实验室有个路由器和电脑甲,路由器的IP地址为A,电脑甲使用的是A下的子网,IP地址为B。我的宿舍有台电脑乙,电脑乙的IP地址为C。现在需要在电脑甲上搭建ftp服务器,供电脑乙访问。2. 在电脑甲上允许FTP服务器通过防火墙进到"防火墙和网络保护"窗口下,选择"允许应用通过防火墙"。点击"更改设置",然后找到"FTP服务器",勾选后面的选框,最后点确定。3. 在电脑甲上搭建ftp服务器进入控制面板>程序,点击"启用或关闭Windows功能"找到"Inte
2021-11-03 13:45:36 9247 3
原创 针孔相机的标定原理与实现
1. 什么是相机标定?为了确定空间物体表面上的某点位置和图像中对应点像素坐标位置之间的关系,必须建立转换的模型。这个模型也就是相机参数。计算相机参数的过程称为相机标定。2. 相机标定的方法分类?相机标定方法可分成以下三类:传统的相机标定自标定基于主动视觉的标定3. 针孔相机的模型是怎样的?在物体和平面之间放一块带着小孔的障碍物,光线通过小孔后会在平面上呈现一个倒立的像。这个简单的模型就是针孔相机模型。如下图所示:将上面的模型更加规范化。针孔被称为相机中心:OOO平面被称为成像平面
2021-10-25 08:55:42 527
原创 GCC使用说明
gcc/g++编译器参数c++代码文件需要经过预处理、编译、汇编、链接四个步骤生成可执行文件核心参数参数说明示例E(预处理:)仅生成预处理文件(.i/.ii)就停止运行g++ -E main.cpp -o main.iiS(编译:)仅激活预处理和编译,将文件编译成汇编代码g++ -S main.cpp -o main.sc(汇编:)预处理、编译后将汇编代码替换成目标的机器语言g++ -c main.s -o main.o(链接:)链接目标机器语言,
2021-10-11 10:16:41 138
原创 GLFW的使用说明
1. GLFW的部署由于在Windows平台下初始化OpenGL非常麻烦,不仅需要创建OpenGL上下文,而且更麻烦的是调用OpenGL的GPU驱动的函数(具体多麻烦查看我的博文)。所以推荐使用第三方已经写好的库GLFW,类似的库还有GLUT。GLFW是跨平台的抽象层,所以同一份代码在Windows和Linux下都可以运行。GLFW提供了创建窗口,创建OpenGL上下文,管理键盘和鼠标的事件,甚至还提供多线程管理等跨平台的功能。功能越来越多了。1.1 在GLFW官网上,找到他们的源码页,并下载到本地
2021-10-09 20:41:58 6928
原创 Windows窗口中创建OpenGL上下文并调用OpenGL函数
Windows窗口中创建OpenGL上下文并调用OpenGL函数最终效果#include <Windows.h>#include <iostream>#include <GL/GL.h>#pragma comment (lib, "opengl32.lib")enum {GL_VERTEX_SHADER=0x8B31, GL_COMPILE_STATUS=0x8B81, GL_FRAGMENT_SHADER=0x8B30, GL_LINK_STATUS=0x8
2021-10-08 17:20:26 538
原创 使用CMAKE创建并使用自定义的库文件
使用CMAKE创建并使用自定义的库文件#1. 创建自定义的库文件libhello.a创建一个新项目,并创建自定义的库文件hello.h和hello.cpp如下:hello.h#ifndef HELLO_HELLO_H#define HELLO_HELLO_H#include <iostream>void say_hello();#endif //HELLO_HELLO_Hhello.cpp#include "hello.h"void say_hello(){
2021-04-10 16:08:50 979
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人