自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一些c/c++学习过程中的记录

c语言中函数名与struct可以重名#include <stdio.h>struct foo { int a; int b;};void foo(struct foo *f){ printf("%d, %d", f->a, f->b);}int main(){ struct foo f; f.a = 1; f.b = 2; foo(&f); return 0;}需要注意的是在这样的情

2022-01-05 20:39:01 461

原创 一些算法的基本原理~

1Linemodhttps://blog.csdn.net/zmdsjtu/article/details/799338222单应矩阵八个自由度。可以实现图像变换两个图像

2021-07-20 11:25:01 148

原创 C++开发中用到的一些概念~

记录开发过程中遇到的一些实际的问题:1回调表现:比如UI上buttom触发,我们需要调用相关函数处理逻辑,也就是说把函数作为一个参数传进函数。例子:STL库中的sortvoid stable_sort(vector<string>::iterator iterBegin, vector<string>::iterator iterEnd, bool (*isShorter)(const string &, const string &));isShort

2021-07-18 12:30:44 233 2

原创 Github和vscode

VSCODE Install下载地址正常安装设置中文在插件中搜索chinese,并且install快捷键Ctrl + Shift + P打开vscode的命令框,并输入Configure Display Language选择chineseC++环境配置参考教程简单的mingwGit IntroductionGit 是分布式版本控制系统。学习地址可以记录每次文件的改动,还可以一起编辑,还可以查看某次改动类似这样实现过程1:在vscode中新建一个文件 不包含英文 并在终端中

2021-07-04 23:28:36 1126 16

原创 惠普workstation安装ubuntu16.04之坑

1前言原本以为在自己的笔记本上装过无数次的ubuntu的安装会很简单,但是在实验室的电脑上安装还是遇到了很多坑!为了能为遇到相同问题的同学提供帮助,同时也为下次安装能有参考,特地写下该博客。2安装的总体流程2.1制作安装启动盘因为之前的驱动盘好像有东西不对了所以就自己重新做了一个。使用OltralSO来进行制作启动盘。其过程很简单,可以参考:地址1 地址22.2给ubuntn分区右键我的电脑->管理->磁盘管理就可以管理磁盘了。我的分区的操作就是右键要分配的卷,选压缩卷,然后

2020-11-27 19:42:55 923 1

原创 【pytorhc的可视化工具】利用tensorboard_logger进行学习数据可视化

1tensorboard_loggertensorboard_logger官网根据官网的信息,可以知道tensorboard_logger的作用是在不需要TensorFlow的时候记录TensorBoard事件,是TeamHGMemex开发的一款轻量级工具,它将Tensorboard的工具抽取出来,使得非tf用户也可以使用它进行可视化,不过功能有限,但一些常用的还是可以支持。好像更加复杂的为tensoboardX,过段时间再去尝试安装一下吧。其官方使用样例为from tensorboard_logg

2020-10-08 16:29:57 11798 2

原创 【硬件选型】工业相机选择方法

1 相机选型相机的选型主要根据以下几个方面:分辨率相机帧率颜色类别像素位数接口1.1相机分辨率->精度和视野范围要求来选分辨率比如:物体大小 110mm×80mm;检测精度:0.1mm视野(FOV)范围:120mm×90mm计算:(其实就是计算一个像素代表多少)=(12/0.01)* ( 9/0.01)=1200 * 900=108万像素可以选用130万像素相机(1280 * 960);为减小边缘提取时的像素偏移带来的误差,提高系统的精准度和稳定性,实际使用中一般

2020-09-20 15:43:19 1392

原创 【python画图工具】matplotib的学习过程

1 初见MatplotlibMatplotlib是python中的画图工具,与matlab中的画图工具类似。官网:https://matplotlib.org/contents.html1.1 Figue对象(画板)在画图之前,需要一个Figure对象,(类似于我们画图需要画板)import matplotlib.pyplot as plt # 导入模块fig = plt.figure() #fig就是Figure对象1.2 Axes(轴)有了画板之后我们要在画板上分绘图的区域,就比如说分

2020-09-20 14:59:08 317

原创 【python内置函数】__getitem__()、__init__()

__ getitem __()当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。__ init __()在初始化类的时候自动调用。

2020-09-13 20:27:52 382

原创 【python】多个子文件下的文件放到同一文件夹下

1:背景介绍为了训练网络,采集数据集若干组,每组文件下面都有img和label两个子文件,分别存着图片和txt。如图现在想把他们存到一起2:程序# coding=utf-8import osimport shutildef extractdoc(name): #目标文件夹 root_dir ='./' pattern = '1111' set_list = '11' determination = root_dir + "/" + pattern

2020-09-13 12:50:29 1109

原创 【pytorch】查看state_dict

1来源torch.nn.Module模块中的state_dict变量存放训练过程中需要学习的权重和偏执系数,state_dict作为python的字典对象将每一层的参数映射成tensor张量,需要注意的是torch.nn.Module模块中的state_dict只包含卷积层和全连接层的参数,当网络中存在batchnorm时,例如vgg网络结构,torch.nn.Module模块中的state_dict也会存放batchnorm’s running_mean2输出state_dict字典对象中存放的变量

2020-09-09 15:57:57 1010

原创 多张图片生成gif(内附代码)

1环境配置1.1images2gif模块github:模块地址下载之后放在目录下即可1.2PIL模块由于PIL不支持python3,我们选择安装它的分支pillowconda install pillow2代码import osimport numpy as npfrom PIL import Imagefrom images2gif import writeGifoutfilename = "my.gif" # 转化的GIF图片名称root_dir="..\\data"na

2020-09-09 14:16:46 2843

转载 Python中[ : n]、[m : ]、[-1]、[:-1]、[::-1]、[2::-1]和[1:]的含义

[m : ] 代表列表中的第m+1项到最后一项[ : n] 代表列表中的第一项到第n项import numpy as npa=[1,2,3.4,5]print(a)[ 1 2 3 4 5 ]print(a[-1]) 取最后一个元素结果:[5]print(a[:-1]) 除了最后一个取全部结果:[ 1 2 3 4 ]print(a[::-1]) 取从后向前(相反)的元素结果:[ 5 4 3 2 1 ]print(a[2::-1]) 取从下标为2的元素翻转

2020-09-03 14:30:30 408

原创 【CUDA+CUDNN+gpuPytorch安装2】WIN10+CUDA+pytorch安装

摘要显卡驱动、CUDA、cuDNN以及说明三者之间的关系请看https://blog.csdn.net/m0_37668446/article/details/108363627本文将进行安装,使得可以使用pytorch-gpu1 CUDA安装CUDA安装官网描述:运行CUDA应用程序的两个必要条件是(1)系统至少拥有一个支持CUDA编程的GPU硬件;(2)能够兼容CUDA的驱动程序版本。通过参考官网文档我对下图表格的理解:(1)NVDIA发布的每一个CUDA工具包都有一个最低版本的显卡驱

2020-09-02 16:05:14 530 1

原创 【CUDA+CUDNN+gpuPytorch安装1】显卡驱动、CUDA、cuDNN以及说明三者之间的关系

文章目录摘要1 显卡驱动、CUDA、cuDNN介绍1.1 显卡驱动1.2 CUDA1.3 CUDNN2 形象的说法3 查看显卡驱动摘要在配置PyTorch的过程中,显卡驱动、CUDA、cuDNN三者之间的关系、作用以及在众多版本中如何搭配一直困扰着我。虽然网上资料很多,但各说其词,即使最终迈过种种坑成功运行,但脑子里还是一团乱麻。所以回过头来看NVIDIA的官方文档,一方面记录配置过程防止遗忘,另一方面也希望能够帮助有和我一样困惑的童鞋。本人的这个是参考。1 显卡驱动、CUDA、cuDNN介绍1.1

2020-09-02 15:50:57 491

原创 conda创建虚拟环境不报错,但是虚拟环境无法生成的解决办法

现象conda create -n pytorch python=3.7输入后不报错也不会生成成功。在Anaconda Navigator里也无法创建。解决办法输入conda clean --all清除之前未完成的conda安装的包就可以正常创建环境了。

2020-09-02 12:21:05 1706 4

原创 conda 换回默认的下载源

conda config --remove-key channels

2020-09-02 11:05:52 1913

转载 transforms.py中的预处理方法进行介绍和总结

常用的操作一、 裁剪——Crop1.随机裁剪:transforms.RandomCrop2.中心裁剪:transforms.CenterCrop3.随机长宽比裁剪 transforms.RandomResizedCrop4.上下左右中心裁剪:transforms.FiveCrop5.上下左右中心裁剪后翻转: transforms.TenCrop二、翻转和旋转——Flip and Rotation6.依概率p水平翻转transforms.RandomHorizontalFlip7.依概率p垂直翻转transf

2020-09-01 11:04:50 446

原创 关于transforms.Normalize()函数说明

transform.ToTensor(),transform.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))那transform.Normalize()是怎么工作的呢?以上面代码为例,ToTensor()能够把灰度范围从0-255变换到0-1之间,而后面的transform.Normalize()则把0-1变换到(-1,1).具体地说,对每个通道而言,Normalize执行以下操作:image=(image-mean)/std其中mean和std分别通过(0.5,0

2020-09-01 10:37:14 2153

原创 用python-plt.subplots画色块图

from PIL import Imageimport matplotlib.pyplot as pltcolor_map = [(220, 20, 60), (139, 0, 139), (123, 104, 238), (248, 248, 255), (0, 255, 255), (0, 255, 127), (255, 255, 0), (210, 180, 140)] # 1行8子图fig, axs = plt.subplots(1,

2020-09-01 10:01:33 2318

原创 【深度学习系列4】复现pygoturn(包含安装opencv)

1 github下载需要该项目源代码//git clone + github远程仓库地址git clone https://github.com/amoudgl/pygoturn嫌弃麻烦的小伙伴直接下载我上传的资料2额外环境还差几个分别装一下(先得进虚拟环境参考之前的博客)conda install numpy=1.14.5conda install opencv-python==4.0.0.21conda install tensorboardX=1.6...

2020-08-16 14:30:45 325 2

原创 【深度学习系列3】使用conda建立虚拟环境

1、首先在所在系统中安装Anaconda。可以打开命令行输入conda -V检验是否安装以及当前conda的版本。2、conda常用的命令。1)conda list 查看安装了哪些包。2)conda env list 或 conda info -e 查看当前存在哪些虚拟环境3)conda update conda 检查更新当前conda3、创建python虚拟环境。 使用 conda create -n your_env_name python=X.X(2.7、3.6等)命令创建pytho

2020-08-16 11:09:04 261

原创 【深度学习系列2】win10安装pycharm并连接虚拟环境

1官网下载PyCharmhttps://www.jetbrains.com/pycharm/download/#section=windows安装,选上所有的复选项目直到安装完2使用pycharm导入虚拟环境1使用cmd查看虚拟环境的目录:conda env list如图 为我新建的版本2 打开pycharm打开工程File->setting->project:YourProject->Project Interperter如果要添加新的环境选择ADD

2020-08-16 11:06:13 221

原创 【2D位姿估计3】ELSDc线段椭圆提取算法填坑路

1 说明实验室复现高精度位姿估计算法的时候,需要调用ELSDc算法,当时算法是在MAC上编译的,而我在复现的时候用的ubuntu 16.04 ,所以进行了一轮踩坑,在半天之后搞定了算法的复现,这里记录一下遇到自己填坑的过程。2代码调试阶段的问题1 sh: 1: ./ELSDC/elsdc:Permission denied解决办法:2 Syntax error:(unexptected解决办法:代码对于标准bash而言没有错,因为Ubuntu/Debian为了加快开机速度,用dash代替了

2020-08-11 15:53:46 464

原创 C++力扣刷题记录——深度优先搜索·DFS(递归前中后序)&&广度优先(队列)(持续更新)

1 海岛数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围思路我们可以将二维网格看成一个无向图,竖直或水平相邻的 11 之间有边相连。为了求出岛屿的数量,我们可以扫描整个二维网格。如果一个位置为 11,则以其为起始节点开始进行深度优先搜索。在深度优先搜索的过程中,每个搜索到的 11 都会被重新标记为 00。最终岛屿的数量就是我们进行深度优

2020-07-28 10:52:02 349

原创 【2D位姿估计2】ubuntu16.04 安装opencv3.4与armadillo

1 安装opencv说明本文安装参考https://blog.csdn.net/public669/article/details/99044895由于当时没有截图就转载了其内容,也可以直接看他的内容,记录下来只为以后自己需要的时候方便。安装cmakesudo apt-get install cmake安装需要的依赖环境sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev l

2020-07-27 20:08:37 180

原创 【2D位姿估计1】ubuntu16.04下安装Clion2020

1 Clion安装包下载官网下载:https://www.jetbrains.com/clion/download/#section=linux2 安装Clion在压缩包路径下解压安装包 tar -zxvf CLion-2016.2.2.tar.gz进入解压缩的路径下运行安装文件cd clion-2020.1.3/bin./clion.sh3. 点击安装,并输入注册的学校邮箱(学校邮箱可以免费用一年)4. 安装完成可以使用使用到目录下 终端中输入./clion

2020-07-27 19:47:24 872

原创 C++力扣刷题记录——字符串(持续更新)

string的有用的常用操作a[n],从0开始的for(auto c : string)string s2=s.substr(0,5) or (6)从下标6开始s.append(args) 类似vector的push_back()s.replace(range,args)在范围range内替换其中args可以指str,pos,len或者n,c n个c 或者str等swap(a,b)or a.swap(b);‘/0’是字符串的结尾1 58 最后一个单词的长度(简单)给定一个仅包含大小写字母

2020-07-26 22:33:24 203

原创 误差分析学习-基于Eigen库

C++读写操作数据在txt中长:/************************************************************************** 1.2 读取真实位姿数据"Pose.txt" ***************************************************************************/ ifstream posefile; vector<Mat> Real_Rots; vecto

2020-07-21 14:57:24 176

原创 C++力扣刷题记录——回溯算法(持续更新)

回溯算法讲解回溯算法将解空间看作一定的结构,通常为树形结构,一个解对应于树中的一片树叶。算法从树根(即初始状态出发),尝试所有可能到达的结点。当不能前行时就后退一步或若干步,再从另一个结点开始继续搜索,直到尝试完所有的结点。也可以用走迷宫的方式去理解回溯,设想把你放在一个迷宫里,想要走出迷宫,最直接的办法是什么呢?没错,试。先选一条路走起,走不通就往回退尝试别的路,走不通继续往回退,直到走遍所有的路,并且在走的过程中你可以记录所有能走出迷宫的路线。回溯与八皇后问题在国际象棋中,皇后是最强大的一枚棋子

2020-07-20 23:21:06 415

原创 opencv2D姿态估计-canny+最小包矩形围盒minAreaRect

1来源为了实现一个简单的demo 就是拍取了物体的照片之后确定一下其具体的分布。本文采用的方式是canny算子+闭运算+最大轮廓+最小包围矩阵的方式求解的。下面是代码。轮廓提取参考2代码#include <Eigen/Dense>#include <iostream>#include <string>#include <boost/format.hpp>#include <vector>//opencv#include &l

2020-07-17 13:20:04 317

原创 python3.7.4+Anaconda+Jupyter notebook在win10下的安装

1WHATJupyter notebook 是一种 Web 应用,它能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,非常方便研究和教学。在原始的 Python shell 与 IPython 中,可视化在单独的窗口中进行,而文字资料以及各种函数和类脚本包含在独立的文档中。但是,notebook 能将这一切集中到一处,让用户一目了然。Jupyter notebook特别适合做数据处理,其用途可以包括数据清理和探索、可视化、机器学习和大数据分析。2HOW3安装因为需要,

2020-07-17 11:41:10 716

原创 使用Meshlab对CAD模型采样点云,并在PCL中显示

使用的版本为solidworks 2016+meshlab 2016.12+PCL 1.8.0solidworks部分绘制想要渲染成点云数据的模型另存为的时候选择STL文件mashlab部分2.1 File->import mesh->保存的stl文件选择ok点击就可以看到模型的坐标系2.2修改坐标系Filters->normal, curvatures and orientation->transform:rotation(旋转)//translat.

2020-07-17 11:01:41 2313

原创 C++力扣刷题记录——动态规划(持续更新)

动态规划思路确定DP状态最优子结构:可以分成子结构求无后效:只和前面一个有关确定转移方程根据分类讨论确定写程序根据分类讨论确定3写程序

2020-07-16 12:37:13 366

原创 C++力扣刷题记录——数组(持续更新)

C++ leetcode刷题记录原理题型原理题型

2020-07-12 19:51:26 311

原创 KMEANS轮廓点排序

OPENCV:Kmeans的四个轮廓角点,进行逆时针排序。代码整体思路为:canny提取轮廓开闭操作提取最大轮廓(实际应用对象为一个带圆角的矩形)多边形拟合轮廓轮廓分割的比较好的话 使用Kmeans 聚类四个点对四个点进行排序,并对排序的点对应应该的矩形大小找单应变换矩阵把拍到的图像通过单应变换变回去如何对Kmeans的四个聚类点进行排序并通过单应矩阵变换Mat labels,centers;//聚类的点cv::kmeans(Mat(polypoints), 4, labels,

2020-06-29 14:15:00 732

原创 PCL中ICP迭代的过程展示

下面的代码实现了ICP配准按一次空格进行配准一次的功能。#define _USE_MATH_DEFINES#include <math.h>//pi为M_PI#include <iostream>#include <string>#include <pcl/point_types.h>#include <pcl/io/ply_io.h>#include <pcl/io/pcd_io.h>#include <pcl/

2020-06-27 22:52:51 508

原创 PCL循环分割并提取平面点云——小于阈值数量时停止

PCL循环分割平面点云PCL提供了 分割点云的算法,分割的点云为平面最大的点云。下面是实现循环分割的代码#define _USE_MATH_DEFINES#include <math.h>//pi为M_PI#include <iostream>#include <string>#include <pcl/point_types.h>#include <pcl/io/ply_io.h>#include <pcl/io/pcd_i

2020-06-27 22:39:37 537

原创 C++模板内容学习

c++ 模板 最近在项目中遇到写一个函数,相机拍的点云的单位为m,但是配准渲染的点云需要的点云单位是mm。 所以需要写一个单位转换函数。但是点云又分pointsXYZ和PointsXYZRGB,所以想到了模板。 首先复习一下模板。模板编译当编译器遇到一个模板定义时,不生成代码。只有当我们实例出模板的一个特定版本时,编译器才会产生代码。所以通常的类定义和函数声明放在头文件,普通函数和类成员函数的定义放在源文件。而模板不同,为了生成一个实例化的版本,编译器需要掌握函数模

2020-06-26 13:46:52 148 1

pygoturn-master.zip

pytroch版本的,论文使用caffe版本,其下载地址为https://github.com/amoudgl/pygoturn,此文档提供给 git不下来的小伙伴共享,一起学习

2020-08-14

空空如也

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

TA关注的人

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