- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 c++提取文件名中数字
struct dirent *ptr; DIR *dir; std::string PATH1 ="/home/test/";//读取test文件内容 std::string PATH2 = "/home/test/";//输出结果到test std::vector<string> file_list;// dir=opendir(PATH1.c_str()); std::cout << "Read the...
2022-03-24 11:59:44 1230
原创 C++读取文件夹中所有的文件或者是特定后缀的文件
由于经常有读取一个文件夹中的很多随机编号的文件,很多时候需要读取某些特定格式的所有文件。下面的代码可以读取指定文件家中的所有文件和文件夹中格式为jpg的文件windows平台代码:#include <io.h>#include <fstream>#include <string>#include <vector>#include <iostream> using namespace std; //获取所有的文件名void
2022-02-18 14:45:21 4348 1
转载 C++ STL中vector的内存机制和性能分析
vecotr是动态数组,顾名思义他可以动态的增加自己的长度。内存机制:但是怎样的增加自己的长度?vector有两个函数一个是capacity()返回内存空间即缓冲区的大小,另一个是size()返回当前数组中数的数量。vector增加元素来说,当容量已经不能放进数据了,那么他会重新申请一块内存,把之前的内存利用复制构造函数复制到新的内存当中,然后把新添加的内容放入后面,另外此时的他申请的内存空间是原来空间的2倍,我测得是2倍缓冲区的释放vecotor占用的内存只增不减,erase只是将一段区间( e
2020-07-07 18:45:22 463
转载 c++ vector的内存释放
c++中vector的一个特点是: 内存空间只会增长,不会减小。即为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都挨着前一个元素存储。设想,如果每次vector添加一个新元素时,为了满足连续存放这个特性,都需要重新分配空间、拷贝元素、撤销旧空间,这样性能就会非常慢,所以,实际上分配时其容量要比当前所需容量更多,即vector预留了一些额外的存储区,这样就不必单独为每个新元素重新分配内存空间,减少开销。 另外,在vector中内存只增不减体现在 - 比如首先分配了10000个字节,然
2020-07-07 18:43:11 3131
转载 c++中capacity()函数用法
c++中capacity()函数用法size()指 目前存在的元素数。 元素个数capacity()指 容器能存储 数据的个数 容器 容量reserve()指定 容器 能存储数据的个数resize() 重新 指定 有效元素的个数 ,区别与reserve()指定 容量的大小当创建空容器时, 容量(capacity)为 0;当用完时,增加原容量的 1/2 (各编译器 可能存在差异 vs2010是这样的,mingw则 增加原容量 )–适用如 vector这种 元素连续
2020-07-07 18:40:42 4402
原创 Linux内存监视
内存监视的命令有两种:1.打开系统监视器查看内存,精确到M,在终端输入命令:gnome-system-monitor2.终端输出内存情况,精确到kb,在终端输入命令:top -d 1注:第2种方式打开后,按大写M,进行排序查看,避免进程跳动。...
2020-06-24 14:10:34 220
原创 结构体在内存中的对齐规则
一个结构体变量定义完之后,其在内存中的存储并不等于其所包含元素的宽度之和。例一: #include <iostream> using namespace std; struct X {
2020-06-23 10:48:06 386
转载 链表ListNode详细解释
ListNode刷LeetCode碰到一个简单链表题,题目已经定义了链表节点ListNode,作者很菜,好多忘了,把ListNode又查了一下struct ListNode { int val; //定义val变量值,存储节点值 struct ListNode *next; //定义next指针,指向下一个节点,维持节点连接 }· 在节点ListNode定义中,定义为节点为结构变量。· 节点存储了两个变量:value 和 next。value 是这个节点的
2020-06-06 08:54:21 31127 10
原创 make编译时找不到链接库
在编译时,报错如下:/usr/bin/ld: 找不到 -lcanlib/usr/bin/ld: 找不到 -lkvadblibcollect2: error: ld returned 1 exit statusCMakeFiles/demo.dir/build.make:113: recipe for target 'demo' failedmake[2]: *** [demo] Erro...
2020-02-18 11:25:14 2145 1
原创 视频转换处理终端命令
视频段截取:ffmpeg -i ./plutopr.mp4 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 ./cutout1.mp4 -y-ss time_off set the start time offset 设置从视频的哪个时间点开始截取,上文从视频的第10s开始截取-to 截到视频的哪个时间点结束。上文到视频的...
2020-02-13 11:44:57 181
原创 Eigen库函数
opencv与eigen的交互#include <Eigen/Dense>#include <iostream>#include <opencv2/core/eigen.hpp>#include <opencv2/opencv.hpp> using namespace std;using namespace cv;using name...
2019-09-30 10:52:32 3110
转载 Eigen子矩阵操作(block)
文章目录 1、子矩阵操作简介 2、块操作的一般使用方法 3、行子式和列子式 4、边角子矩阵 5、向量的子向量操作1、子矩阵操作简介子矩阵操作又称块操作,在矩阵运算中,子矩阵的提取和操作应用也十分广泛。因此Eigen中也提供了相关操作的方法。提取的子矩阵在操作过程中既可以用作左值也可以用作右值。2、块操作的一般使...
2019-09-30 10:46:29 14586 2
原创 常用ffmpeg命令
常用ffmpeg命令调整视频的宽和高:ffmpeg -i input_file -s 320*480 output_file将avi转换成mp4:ffmpeg -i input.avi out.mp4视频段截取:ffmpeg -i ./plutopr.mp4 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 ./cutout1.m...
2019-06-14 16:54:50 190
转载 C++对象的动态建立和释放
使用类名定义的对象(请查看:C++类的声明和对象的定义)都是静态的,在程序运行过程中,对象所占的空间是不能随时释放的。但有时人们希望在需要用到对象时才建立对象,在不需要用该对象时就撤销它,释放它所占的内存空间以供别的数据使用。这样可提高内存空间的利用率。在C++中,可以使用new运算符动态地分配内存,用delete运算符释放这些内存空间(请查看:C++动态分配内存(new)和撤销内存(delet...
2019-04-22 18:16:29 501
转载 Ubuntu14.04 运行LSD_SLAM
基于Ubuntu14.04+ROS indigo环境LSD-SLAM的数据集测试成功第一步:搭建Ubuntu14.04.4+ROS indigo基础环境1] 在 http://releases.ubuntu.com/14.04/ 官网下载ubuntu-14.04.4-desktop-i386.iso安装包,大约1G。然后在VMware Player里安装好,可以采用VMPlayer的Easy ...
2019-03-20 19:37:29 382
转载 Mac OS制作Ubuntu安装U盘
采用U盘安装Ubuntu系统是目前比较常见的安装方式之一,在Windows上有制作安装U盘的工具(比如Universal USB Installer),那么在Mac OS上面如何制作安装U盘呢?答案是命令行!hdiutil第一步,需要到Ubuntu下载需要的Ubuntu的安装文件。然后就需要使用第一个命令hdiutil。hdituil:是一个Mac OS上面处理镜像文件的命令,可以对镜像...
2019-03-20 15:08:00 4525
原创 ubuntu16.04 安装LSD_SLAM错误总结
输入命令:rosmake错误如下:[ rosmake ] rosmake starting... [ rosmake ] Packages requested are: ['lsd_slam\xe3\x80\x80'] [ rosmake ] Logging...
2019-03-19 12:48:09 1479 1
转载 TX2安装PCL出现libGL.so: undefined reference to 'xxxx'
在TX2 上刷机后安装PCL时出现aarch64-linux-gnnu/libGL.so :undefined reference to drmCloseOnceaarch64-linux-gnnu/libGL.so :undefined reference to drmCloseOnceaarch64-linux-gnnu/libGL.so :undefined reference to ...
2019-03-15 16:23:39 725
转载 用ORB SLAM2跑自己的数据集 使用图片序列或摄像头或视频 实践篇
用ORB SLAM2跑自己的图片序列数据集首先,我们需要知道图片的采集时间,这个可以从采集的仪器(各种各样的)上得到图片与时间一一对应。小树的问题描述:现有数据集视频,首先使用激光SLAM跑出来了一个轨迹,该轨迹作为groundtruth,将相同的数据集用纯视觉SLAM方法跑一下,然后与groundtruth做对比评判误差。第一步:制作rgb/目录并把图片信息放进去。我们知道ORB SLAM2...
2019-03-11 20:00:49 12401 17
原创 opencv依赖库
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-a...
2019-03-01 12:34:52 5467
原创 Ubuntu 16.04 + Kinect for Xbox one(v2)驱动安装
libfreenect2驱动安装:下载libfreenect2 驱动$ git clone https://github.com/OpenKinect/libfreenect2.git$ cd libfreenect2 下载升级deb文件$ cd depends$ ./download_debs_trusty.sh下载工具$ sudo apt-get install build...
2019-02-01 10:34:32 2240
原创 ROS摄像头标定
ROS官方提供了用于双目和单目摄像头标定的功能包——camera_calibration1 camera_calibration 功能包首先使用以下命令安装摄像头标定功能包camera_calibration:$ sudo apt-get install ros-kinetic-camera-calibration2 启动标定程序使用以下命令启动USB摄像头:$ roslaunch u...
2019-01-30 17:00:31 2293
原创 Ubuntu16.04+Ros+Usb摄像头跑ORB SLAM2
Ubuntu16.04+Ros+Usb摄像头跑ORB SLAM2分享一下我搭建ORB SLAM2环境的过程。实验环境:Ubuntu 16.04 + Ros Kinetic + Opencv3 + 罗技C170 usb摄像头安装Ubuntu 16.04参考:http://www.cnblogs.com/Duane/p/6776302.html作者在文中安装的双系统,如果安裝獨立的Ubunt...
2019-01-30 11:31:28 2068
翻译 YOLO v3实现 Part5
这是关于从头实现YOLO v3检测器的教程的第5部分。在上一部分中,我们实现了一个将网络输出转换为检测预测的函数。有了可用的检测器,剩下的就是创建输入和输出管道。本教程的代码设计为在Python 3.5和PyTorch 0.4上运行。完整代码可以在这里找到 Github repo.本教程分为5个部分:Part 1 : Understanding How YOLO worksPart 2 ...
2018-12-04 11:03:05 316
翻译 YOLO v3 实现 Part4
这是关于从头实现YOLO v3检测器教程的第4部分。最后,我们实现了网络的转发。在这一部分中,我们使用对象置信度作为检测的阈值,然后使用非最大抑制。本教程的代码设计为在Python 3.5和PyTorch 0.4上运行。教程完整代码可以在这里找到 Github repo.本教程分为5个部分:Part 1 : Understanding How YOLO worksPart 2 : Cre...
2018-12-03 14:45:48 392
翻译 YOLO v3实现 part3
这是关于从头实现YOLO v3检测器的第3部分。在上一部分中,我们实现了YOLO架构中使用的图层,在这一部分中,我们将在PyTorch中实现YOLO的网络架构,这样我们就可以产生一个给定图片的输出。我们的目标是设计网络的前向传播。本教程设计的代码在Python 3.5和PyTorch 0.4上运行。完整代码可以在这里找到 Github repo.本教程分为5个部分:Part 1 : Un...
2018-11-30 17:18:16 442
翻译 YOLO v3实现 Part2
这是关于从头实现YOLO v3检测器的教程的第2部分。在上一部分中,我解释了YOLO是如何工作的,在这一部分中,我们将实现YOLO在PyTorch中使用的图层。换句话说,这是我们创建模型构建块的部分。The code for this tutorial is designed to run on Python 3.5, and PyTorch 0.4. It can be found in it...
2018-11-29 19:20:11 427
翻译 YOLO v3实现 Prat1
目标检测是近年来深度学习发展的一个重要领域。近年来,人们开发了许多目标检测算法,其中包括YOLO、SSD、Mask RCNN和RetinaNet。在过去的几个月里,我一直在一个研究实验室致力于改进对象检测。从这段经历中,我最大的收获是认识到,学习对象检测的最好方法是自己实现算法,从零开始。这正是我们在本教程中要做的。我们将使用PyTorch实现一个基于YOLO v3的对象检测器,这是一种速度更...
2018-11-29 19:17:28 805
转载 YOLO原理:《You Only Look Once:Unified, Real-Time Object Detection》
YOLO原理:《You Only Look Once:Unified, Real-Time Object Detection》引用:https://ziyubiti.github.io/2016/12/25/yolopaper/YOLO对实时视频的目标检测非常快,可达45FPS。这主要得益于其精妙的设计,对整体图片进行操作,相比R-CNN等大大降低了运算量。 YOLO的设计思想: 1、将...
2018-09-29 15:44:00 455
原创 Error when write_videofile with moviepy
运行python drive.py model.h5 run1,根据run1中图片生成视频时出现如下错误: Traceback (most recent call last): File “…/anaconda3/envs/carnd-term1/lib/python3.5/site-packages/moviepy/video/io/ffmpeg_writer.py”, line 134...
2018-06-13 07:53:58 4895 3
原创 自动驾驶-车辆检测(YOLO算法)
学习目标: 1.在汽车检测数据集上应用目标检测 2.处理边界框运行以下单元下载有有助于实现车辆检测的包和依赖项。import argparseimport osimport matplotlib.pyplot as pltfrom matplotlib.pyplot import imshowimport scipy.ioimport scipy.misci...
2018-06-01 20:15:50 24549 13
转载 tensorflow里面用于改变图像大小的函数
转:https://blog.csdn.net/UESTC_C2_403/article/details/72699260 tensorflow里面用于改变图像大小的函数是tf.image.resize_images(image, (w, h), method):image表示需要改变此存的图像,第二个参数改变之后图像的大小,method用于表示改变图像过程用的差值方法。0:双线性差值。1:最近...
2018-05-12 10:58:58 877
交通标志识别算法代码
2018-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人