Upupup6
这个作者很懒,什么都没留下…
展开
-
Pycharm初次创建项目时页面环境变量选择
Pycharm确实是一个非常不错的Python开发IDE,尤其对于初学者而言。安装完Pycharm,并未创建任何工程项目时的界面,选择新建一个Pure Python项目,基于上述界面解读 :1是新建项目路径可以在Location处选择。2是Project Interpreter部分是选择新建项目所依赖的python库,第一个选项3会在项目中建立一个venv(virtualenv)目录,这里存放一个虚拟的python环境。这里所有的类库依赖都可以直接脱离系统安装的python独立运行。原创 2022-11-25 17:16:07 · 4166 阅读 · 0 评论 -
Windows版本Anaconda安装教程
接着进入到许可协议的界面,这里点击。接着进入到用户选择的界面,选择。选项,也就是所有用户都能使用。选项,也就是我同意的意思。原创 2022-11-18 09:10:36 · 7085 阅读 · 1 评论 -
Jupyter的使用方法
1、打开桌面快捷方式,或者开始所有程序,找到anaconda文件夹,点击jupyter原创 2022-11-18 09:08:50 · 9280 阅读 · 0 评论 -
Overleaf-LaTex表格制作
下面是一个表格生成器的网页:https://tablesgenerator.com/这个Tables Generator可以生成Latex代码,我们只要拷贝代码到overleaf平台进行编译就可以得到精美的表格;比如下边我们新建立一个生成7x4的表格:File--->New table可以通过这一栏菜单跟word操作一样,可以给表格加颜色,也可以在这个表格中输入数字,比如输入20,并且可以字体改颜色等,可以给表格加边框之类的(上下左右选择是否有边框线等);最后点击生成Ge.原创 2021-11-18 14:38:51 · 15384 阅读 · 1 评论 -
使用pycharm将自己项目代码上传github(保姆教程)
1、梳理一下Git、github和gitee这三个之间的关系:1.1、Github首先从我们最熟悉的github来说,他其实是一个代码托管平台,我们可以在他的里面新建很多的仓库,有强迫症的我理解就是一个仓库是一个自己的项目代码,这些仓库可以是公开的也可以是私有的,公开的仓库可以允许别人来下载我们的代码,从而达到代码开源的一个目的;私有的就是只有自己有权限;1.2、Gitee其次是gitee这个其实也是一个代码托管的平台,是一个国内的平台,他跟github功能是一模一样的,多了一个功能就是原创 2021-11-12 16:17:03 · 7825 阅读 · 2 评论 -
咕泡学院:(1)唐宇迪python课程作业
超级详细的python思维导图见链接:python数据科学必备工具实战思维导图链接:Python入门作业习题:a=set([1,2,3,4])for i in a: for j in a: for k in a: if(i!=j)and(i!=k)and(j!=k): print(i,j,k) 下面的思路是错的没有考虑到累加:I=int(input("请输入当月利润I=:"))p原创 2021-09-15 23:45:11 · 425 阅读 · 0 评论 -
Don‘t entangle those useless things
纠结那些没有必要的问题会很浪费时间的。所以我总是纠结那些原创 2021-09-01 22:19:09 · 109 阅读 · 0 评论 -
desmos:画图(函数图像)在线软件工具
图像计算器:https://www.desmos.com/?lang=zh-CN原创 2021-09-01 15:19:00 · 9603 阅读 · 0 评论 -
相机标定(1)
理解相机标定就要想明白相机模型,成像原理(小孔成像)。相机标定一共分为两个部分:(1)在进行精度较高的测量时,需要校正畸变即图像的畸变矫正 !(是自身的)(2)相机和机器人之间标定 =手眼标定!整个过程就需要经过四个坐标系的相互转换:世界坐标系-------》相机坐标系:是三维的转变。相机坐标系-------》图像坐标系:是从三维映射到二维。图像坐标系-------》像素坐标系:是二维空间的转化而已。四个坐标系:相机坐标系在(1)世界坐标系......原创 2021-08-11 22:40:55 · 92 阅读 · 0 评论 -
相机标定:(1)相机模型
之前在进行标定时只是简单的会使用,调用OpenCV里边的函数,完成标定即可。并没有做过多深入的理解,今天趁着course学习把标定详细的记录一下,以下完全是个人理解如果有不对的地方欢迎批评指正,毕竟一切能带我飞的人,我都很感激。----------------------------正文----------------------------0、前言要想理解相机的标定过程,我们前期的准备工作就需要了解一下相机的模型,相机的成像原理,数码相机图像拍摄的过程实际上是一个光学成像的过程。相机的成像过程原创 2021-08-11 16:50:27 · 917 阅读 · 0 评论 -
Zotero使用
Zotero下载链接:https://www.zotero.org/download/如何在Zotero中设置webdav连接到坚果云?https://help.jianguoyun.com/?p=3168Zotero入门六篇:https://www.douban.com/group/topic/45562674/坚果云下载链接:https://www.jianguoyun.com/s/downloads坚果云使用教程:https://www.bilibili.com/v原创 2021-08-01 00:38:41 · 437 阅读 · 0 评论 -
数字图像处理:腐蚀与膨胀操作
腐蚀与膨胀是数字形态学中的基本操作,一般用在二值图像(二值图像指每个像素不是黑就是白,其灰度值没有中间过渡的图像。),不过用在RGB图像上也是可以的。灰度图:任何颜色都有红、绿、蓝三原色组成,而灰度图只有一个通道,他有256个灰度等级,255代表全白,0表示全黑。腐蚀与膨胀最典型的一个应用场景就是在你二值化后,目标和背景扣的不是很干净的时候可以试试腐蚀与膨胀,会有很神奇的效果。假设我们对如下的单通道图做腐蚀膨胀操作,需要注入灵魂的东西就是---核,其实核就是一个矩阵,里面都是0或者非0的数字原创 2021-07-14 23:48:37 · 6239 阅读 · 1 评论 -
Reading Paper
如何快速高效的阅读英文文献: (解决速度慢、效率低,阅读了一大堆不知从何下手的问题)首先英文学术文献的组成一般分为6个部分:标题Title 摘要Abstract 引言Introduction 正文(里边包含了Methods、Result) 插图Figure 结论Conclusion如果你在阅读文献的时候每一篇都是从Title读到Conclusion一字一词的去读,那么将会非常的耗时。所以个人认为(此处接受反驳)高速阅读文献的顺序应该是:1、泛读。(泛读并不是对全文的内容泛泛而读,原创 2021-07-06 16:36:47 · 245 阅读 · 0 评论 -
C++:const的使用(普通常量、指针、引用)
const声明的是常量,常量基本上只能读不能写。其实x也是能写的,但他只是在x初始化的时候完成了写操作。int main(){ const int x=4;//x是const int型。在初始化时写入4。 std::cout<<x<<“\n”;}常量这个概念是编译期的概念,比如说我们声明一个变量,声明一个变量编译器是...原创 2021-05-27 21:03:24 · 438 阅读 · 4 评论 -
C++:传值与传址的区别以及引用的使用
使用指针的好处其一:指针复制成本低。不使用指针的高成本:#include<iostream>void fun(int x){}int main(){ int x=42; fun(x);//系统在调用的时候,会把x这个对象的内容复制到fun的这个形式参数里面,经过这样的复制之后我们才能在fun函数里边去使用x。目前只是一个int型的x所以复制是很快的,如果是一个复杂的结构体,结构体里边的东西很大的话}如果定义了一个结构体,结构体里边的内容很大,原创 2021-05-19 10:47:19 · 306 阅读 · 0 评论 -
整数中内存中的保存方式:大端、小端
一个数在计算机内存中的保存方式是大端法表示还是小端法表示?首先C++当中并没有规定我们这个内存中,整数在内存中是采用大端法还是小端法表示。所以在编写程序的时候这一点并不是很重要。但是如果编写一个程序,在两台不同的机器上来传输数据的时候,这一点就很重要。如果两台机器的硬件不同的话,他可能这边传输出来的数据是按照小端法表示的,但是那边我认为我接收到的是按照大端法表示的,那么这样的话我传过来的数和我接受的数这样解析出来就是错的,所以如果涉及到网络传输的时候要去考虑到大端与小端的问题。基本上在系统当中我原创 2021-05-09 16:37:43 · 402 阅读 · 0 评论 -
LaTex安装教程
LaTex官方网站:https://www.latex-project.org/1、点击TexLive2、点击 On DVD3、点击 downloading the TeX Live ISO image and burning your own DVD4、点击 download from a nearby CTAN mirror (从附近的CTAN镜像下载)5、点击 texlive2021.iso6、待下载完成之后,解压文件,...原创 2021-05-07 10:13:16 · 12654 阅读 · 6 评论 -
C++:名字空间的使用
首先明确一下要使用名字空间的目的是为了防止名字冲突。一、访问名字空间中元素的3种方式:1、可以自己去定义一些名字空间:namespace NameSpace1{ void fun() { }//该fun函数是属于名字空间NameSpace1的。 int x=0;//是NameSpace1里边所包含的变量。}namespace NameSpace{ void fun() { }//该fun函数是属于名字空间NameS原创 2021-05-05 13:01:18 · 507 阅读 · 0 评论 -
C++:文件读写
将txt格式的点云数据x y z 中间以空格的形式隔开,改写为x,y,z中间以,(逗号)的形式隔开。思想是:先将其读取出来,再将其增加逗号分隔符将其写进另外一个文件里边。代码如下:////点云数据txt转pcd格式#include<iostream>#include<fstream>#include <string>#include <vector>#include <pcl/io/pcd_io.h>#include &l原创 2021-04-10 22:07:43 · 137 阅读 · 0 评论 -
Pycharm报错合集:在pycharm运行anaconda配置的Pytorch环境报错(Environment location diretory is not empty )
第一次安装完pycharm后配置的解释器是Anaconda。但是要使用到pytorch(想直接使用Anaconda中创造的虚拟环境pytorch),所以就重新卸载了上述的安装。之后再次安装,再次安装在配置解释器环境时,总是提醒型:...原创 2021-04-01 17:13:49 · 2878 阅读 · 1 评论 -
C++:将char*指针强制转换成一个指向结构体的指针
在使用Socket与雷达进行通信采集数据时,会遇到“打包与解包”的问题,在打包和解包过程中,会涉及到结构体指针与字符指针间的强制转换。如下:打包就是将包头与信息封装成一定大小的包,作为发送单元进行发送。1、首先将雷达数据格式进行打包:(把数据格式打包成一种结构体数据类型)typedef struct _tag_OLE2D_Block{ DWORD Header;//标识符//typedef unsigned long DWORD; WORD ProtocolVersion;原创 2021-03-31 14:26:50 · 4180 阅读 · 0 评论 -
python基础知识整理 第七节:单例设计模式、异常、模块、包、制作模块、文件
1、单例设计模式单例设计模式就是为对象在内存中分配空间的时候,永远只会返回一个唯一的固定的内存空间。这样就能保证在内存中这个类的对象只有唯一的一份,这个就叫做单例。(为对象分配空间使用的是内置方法__new__方法)创建对象时,new方法会被自动调用。如果自己重写__new__方法,一定要进行返回分配的内存空间,如果不返回,pyhton的解释器就得不到分配空间的对象引用,如果得不到对象的引用,python的解释器就不会调用初始化方法,把对象的引用传递到初始化的方法内部。class Musi原创 2021-03-28 13:13:54 · 121 阅读 · 0 评论 -
python基础知识整理 第六节:面向对象封装练习
PS:在python3中,object是所有类的基类。也就是说只要我们定义了一个类,这个类最终的基类都是object类。(Object是python3中所有类的祖宗类)所以在以后定义类时,如果没有父类建议统一继承自object。class 类名(object): pass面向对象开发的3大特性:封装、继承、多态。1、针对Person类2、针对于户型添加家具(哪一个类要被使用到就应该先开发那个类)class HouseItem: def __init__(se原创 2021-03-27 14:47:45 · 220 阅读 · 1 评论 -
Paper8:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
Spatial Pyramid Pooling in Deep ConvolutionalNetworks for Visual Recognition原创 2021-03-26 21:47:07 · 114 阅读 · 0 评论 -
Paper7:R-CNN
一、前言Code:https://github.com/rbgirshick/rcnn#readme2014年CVPR上的经典paper:《Rich feature hierarchiesforAccurate Object Detection and Segmentation》,这篇文章的算法思想又被称之为:R-CNN(Regions with Convolutional Neural Network Features),是物体检测领域曾经获得state-of-art精度的经典文献物体检测..原创 2021-03-26 21:46:26 · 201 阅读 · 0 评论 -
Python:python中的可变类型和不可变类型
Python的基本数据类型大致可分为6类:1.Number(数字)(bool布尔类型、int整型、float浮点型、complex复数等都归为Number数字类型) 2. String(字符串) 3. Tuple (元组) 4. List(列表) 5. Dictionary (字典) 6. Sets(集合)这6种类型又可以分为可变类型和不可变类型,其中不可变类型有:Number(数字) String(字符串) Tuple (元组)。可变类型有: List(列表) Dictionary (字.原创 2021-03-26 21:44:08 · 2570 阅读 · 0 评论 -
Python:练习1---名片处理系统
在jupyter下完成的。1、cards_tools.py#记录所有的名片字典card_list=[]#显示菜单def show_menu(): print("Welcome") print("1.新增名片") print("2.显示全部") print("3.搜索名片") print(" ") print("0.退出系统") #新增名片def new_card(): print("-"*50) print("新增原创 2021-03-24 20:58:30 · 311 阅读 · 0 评论 -
Paper9:Fast RCNN
code:s available under the open-source MIT License at https://github.com/rbgirshick/ fast-rcnn.1、摘要:Fast R-CNN在训练和测试上的速度都得到提高,而且准确率也提高了。在on PASCAL VOC 2012上,Fast R-CNN trains the very deep VGG16 network 9× faster than R-CNN, is 213× faster at test-time原创 2021-03-22 13:37:35 · 200 阅读 · 0 评论 -
随笔2:关于linux和python
编译器是什么?计算机只能识别0和1这种机器语言,但是程序员在开发的时候可以使用很多种语言,比如C语言,python等,所以我们用不同语言开发出来的程序计算机又是如何识别和运行的呢?关键就是使用不同语言开发出来的程序如果想要执行,那么最终只有变成机器语言才能执行,怎么变成机器语言呢?我们就需要找一个翻译,这个翻译需要把我们编写的代码翻译成机器能够识别的代码,这个翻译的专业名称就是编译器。用大白话来讲不同的编译器就是需要把不同的语言翻译成机器能够识别的机器语言,这就是编译器的作用。解释器是什么?..原创 2021-03-18 14:33:06 · 405 阅读 · 0 评论 -
Anaconda中pytorch环境搭建(包括详细的虚拟环境创建,以及虚拟环境中jupyter notebook的使用)
PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。本次想使用Anaconda建立Pytorch虚拟环境来安装Pytorch。(纯属个人强迫症,不想让所有的东西都放在最初的base环境下,所以想基于不同的框架来建立A...原创 2021-03-11 15:01:53 · 2280 阅读 · 1 评论 -
Anaconda使用
1、安装完Anaconda后如何查看所安装的路径?第一步:首先打得开Anaconda安装下的Anaconda Prompt。首先解释一下:初次装完Anaconda后为什么打开Anaconda Prompt这个就会出现base这个环境和C:\Users\TIMI这个路径?第一个问题:装完Anaconda后他就会默认送给你一个Python环境,这个环境的名称就叫base。这个环境下所有的python包都在F:\softinstall\Study_Software\Anaconda\pkgs这个下原创 2021-03-09 15:58:09 · 1249 阅读 · 0 评论 -
Windows下超详细安装Anaconda3以及jupyter notebook
1.下载Anaconda安装包Anaconda官网网站:https://www.anaconda.com/products/individual下载安装包速度比较慢,国内小伙伴不建议尝试。我们可以使用清华大学开源软件镜像站:清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,请选择适合自己系统自行下载。下载完成后如下图:1.安装Anaconda安装包1.打开安装包,点击Next2.点击I Agre原创 2021-02-26 22:10:13 · 3612 阅读 · 2 评论 -
C:模块化程序设计 以及数组
模块化:举例:继续细化上述模块,猜完一个数字之后,继续再猜:再细化计算机生成数字:数据类型前边都加入了一个const,把他声明为整形常量的原因,当你这个参数被声明为const的时候就可以起到保护参数的值不被改写。而此处在这两个函数内部不需要改写这两个参数的值,只是判断他俩对不对,所以此处假如const的好处,一旦你在这里边被改写了,被声明为const的这个变量,编译器编译的时候就会报错。所以他会起到一个保护需要不被改写的数据不被改写的这样的一个作用。数组但..原创 2021-01-09 23:13:28 · 340 阅读 · 0 评论 -
C:内存中供用户使用的存储空间
内存中供用户使用的存储空间可分为:代码区:存代码的地方。 常量区:存常量的地方。 静态存储区:存变量的地方。 动态存储区:存变量的地方。存变量的分为静态存储和动态存储两个区;“静态”表示事情发生在程序构建的编译时和链接时(还没有运行呢),而非程序实际开始运行的载入时和运行时。也就意味着静态存储区的变量他的分配内存是在编译的时候就已经分配了,不是在运行的时候临时分配。“动态”表示事情发生在程序载入时和运行时。变量的存储类型是指在内存中存储(编译器为变量分配内存)的方式。静态存储方式原创 2021-01-09 14:44:43 · 623 阅读 · 0 评论 -
CloudComparer点云处理软件
官网链接:http://www.cloudcompare.org/这个软件是用Qt和opengl基于PCL库做的。安装软件的话下载这个:之后安装即可。使用2.11的,2.12有bug。后边的压缩包里边是源码。原创 2020-12-30 20:11:10 · 829 阅读 · 0 评论 -
随笔1:程序
什么是程序?软件还包括数据和文档;软件=程序+数据+文档;输入设备:键盘鼠标;输出设备:显示器;存储器:存代码和设备;CPU(中央处理器):控制器(控制存取的一些指令层)和运算器(进行数据的处理);计算机把可执行的代码通过输入设备读到内存里,然后CPU来运行这些代码,读取这些相关的输入数据,然后再把这个计算出来的输出数据输出完成程序的预定功能。...原创 2020-12-26 15:58:41 · 193 阅读 · 0 评论 -
C语言:超详细的C语言中的数据类型
数据类型:是程序设计语言预先做好的工具,每种类型处理一类数据(比如有处理整型数的工具,处理实型数的数据)。如果要处理数据类型,一定要注意两个方面的东西:(1)数据的取值范围:这一个类型的数据,在内存中怎么保存;比如说一个整型数在内存中是怎么保存的,一个实型数在内存中是怎么存储的。数据在内存中怎么存储其实也就决定了这个数据的取值范围,我可以处理的数据的范围是多少。(2)可用的操作:对这种类型的数据可以执行哪些操作;比如对于整型数来讲,它可以执行算术运算、比较运算。对于实型数据也可以执行这些运算,但原创 2020-12-24 23:00:55 · 9907 阅读 · 4 评论 -
IEEE-754标准(32位) 十六进制转换十进制浮点数
因实验需要,读取陀螺仪的数据是16进制的数据,需要将该数据转化为10进制方便自己查看,理解。记录如下:1.将(32位)16进制IEEE-754标准浮点数就是用十六进制表示浮点,称为单精度浮点数。float类型在内存中占4个字节(32位),最高位用于表示符号;在剩下的31位中,从右向左了8位用于表示指数,其余用于表示尾数。(一个字节是8位)对应关系如下:符号位指数位尾数位1位8位23位举例:(1)IEEE-754标准浮点数表示为 404FC5...原创 2020-12-23 00:06:44 · 32597 阅读 · 19 评论 -
C内存2:内存分区
字符数组:char[];字符指针:char*;字符串:string;要想搞明白这几个首先要了解内存分区。了解内存分区首先要弄清楚程序在运行之前:程序在运行之前,我们要想执行我们所编写的C程序,那么第一部需要对这个程序进行编译:预处理:宏定义展开,头文件展开,条件编译,这里并不会检查语法。 编译:检查语法,将预处理后文件编译,生成汇编文件。 汇编:将汇编文件生成目标文件(二进制文件) 链接:将目标文件连接成可执行程序。那么这个可执行程序会分成几个区域:-------------原创 2020-12-11 17:55:35 · 191 阅读 · 0 评论 -
C++:多线程中的小白(3)线程传参详解
(1)传递临时对象作为线程参数(2)传递类对象智能指针作为线程参数(3)用成员函数指针做线程函数在实际工作中我们要创建的线程可能不止一个,比如说我们要创建10个,编号从0到9,这10个线程会根据自己的编号确定自己要干的事情,这个线程如何知道自己的编号呢,这个就需要我们给线程传递参数(比如我们传递0123456789这10个数,那么线程就通过接收的这个参数就知道自己的编号了。)。void myprint(const int &i,char *pmybuf){ cout<原创 2020-12-09 13:36:17 · 896 阅读 · 0 评论