自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

转载 C++中substr函数的用法

1 #include<string> 2 #include<iostream> 3 using namespace std; 4 5 void main() 6 { 7 string s("12345asdf"); 8 string a=s.substr(0,5); 9 cout<<a<<endl;10 } ...

2018-06-12 12:52:35 215

原创 数据读取和处理例子

// 参数读取类class ParameterReader{public: ParameterReader( string filename="./parameters.txt" ) { ifstream fin( filename.c_str() ); if (!fin) { cerr<<"parameter...

2018-06-12 11:44:41 297

转载 双边滤波

双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空间与信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部处理的特点。之所以能够达到保边去噪的滤波效果是因为滤波器由两个函数构成:一个函数是由几何空间距离决定滤波器系数,另一个是由像素差值决定滤波器系数。 双边滤波器中,输出像素的值依赖于邻域像素的值的加权组合,其公式如下:  权重系数w(i,j,k...

2018-04-24 19:42:30 652

转载 C/C++基础知识:typedef用法小结

第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可...

2018-04-12 21:18:59 126

转载 byte为什么要与上0xff?

byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetName))) ; for (int i = 0; i < bs.length; i++) { int c = bs[i] & 0xFF ; if(c ...

2018-04-10 20:25:39 173

转载 #define宏定义中的#,##,@#,\

宏只能放在一行,分多行时应用在行尾用\\需要是最后一个字符,最后一行不写C/C++ 宏命令的神奇用法。先看下面三条语句:[cpp] view plain copy #define Conn(x,y) x##y   #define ToChar(x) #@x   #define ToString(x) #x  (1)##,连接操作符x##y表示什么?表示x连接y,举例说:int  n = Conn(...

2018-04-06 18:39:59 169

转载 C语言之uint8_t / uint16_t / uint32_t /uint64_t

一、C语言基本数据类型回顾在C语言中有6种基本数据类型:short、int、long、float、double、char1、数值类型1)整型:short、int、long2)浮点型:float、double2、字符类型:char二、typedef回顾typedef用来定义关键字或标识符的别名,例如:[cpp] view plain copy typedef double wages;  typed...

2018-03-24 10:53:40 6099

转载 PCL点云类型(学习对齐方法)

PCL中可用的PointT类型:PointXYZ——成员变量:float x,y,z;     PointXYZ是使用最常见的一个点数据类型,因为他之包含三维XYZ坐标信息,这三个浮点数附加一个浮点数来满足存储对齐,可以通过points[i].data[0]或points[i].x访问点X的坐标值union{float data[4];struct{float x;float y;f...

2018-03-24 10:52:25 2212

转载 不同操作系统的宏定义区分

#ifdef _WIN32 //define something for Windows (32-bit and 64-bit, this part is common)     #ifdef _WIN64 //define something for Windows (64-bit only)     #else //define something for Wi...

2018-03-09 16:42:57 1352

转载 cv::Mat结构

data:Mat对象中的一个指针,指向内存中存放矩阵数据的一块内存 (uchar* data)dims:Mat所代表的矩阵的维度,如 3 * 4 的矩阵为 2 维, 3 * 4 * 5 的为3维channels:通道,矩阵中的每一个矩阵元素拥有的值的个数,比如说 3 * 4 矩阵中一共 12 个元素,如果每个元素有三个值,那么就说这个矩阵是 3 通道的,即 channels = 3。常见的是一张彩...

2018-03-09 16:18:15 745

转载 类前置声明和包含头文件区别

一、类嵌套的疑问C++头文件重复包含实在是一个令人头痛的问题,假设我们有两个类A和B,分别定义在各自的头文件A.h和B.h中,但是在A中要用到B,B中也要用到A,但是这样的写法当然是错误的:  class B;class A{      public:          B b;};class B{      public:          A a;};因为在A对象中要开辟一块属于B的空间,而B...

2018-03-09 16:17:32 1070

转载 C++ 并发编程:Mutex(互斥锁)

多个线程访问同一资源时,为了保证数据的一致性,最简单的方式就是使用 mutex(互斥锁)。引用 cppreference 的介绍:The mutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by mult

2018-01-26 16:31:12 348

转载 linux多核处理下提高编译速度 make -j

Linux开源程序编译往往会需要较长时间,多核处理器的应用可以大大缩短编译所需要的时间。 默认情况下,make并没有将多核处理器的性能发挥到极限。相反,它只使用了其中一个核心。 make的-j参数可以使make进行并行编译。make该参数的帮助如下:[xhtml] view plaincopy-j [N], --jobs[=N]   

2018-01-26 16:27:37 1652 1

转载 c++使用thread类时编译出错,对‘pthread_create’未定义的引用

#include        // std::cout#include          // std::thread#include           // std::mutexvolatile int counter(0); // non-atomic counterstd::mutex mtx;           // locks access to count

2018-01-19 22:51:42 1557

原创 g2o_viewer 问题

编译完成g2o之后,运行g2o_viewer,出现以下的错误。creuther I could make it work on Ubuntu 16.04 aftersudo apt-get install libqglviewer-dev-qt4 and applying this patch to your commit96d22eddiff --git a/

2018-01-04 18:24:11 891

原创 g2o编译问题

2018-01-04 16:37:55 550

转载 git如何更新到指定版本,然后再更新到最新版本

查看分支git branch或者git branch -v A) 创建分支git branch mystudygit1.0 B) 切换分支git checkoutmystudygit1.0 C) 删除分支git branch -dmystudygit1.0  //如果该分支没有合并到主分支会报错

2018-01-03 19:49:28 27637

转载 c++中.dll与.lib文件的生成与使用的详解

c++中.dll与.lib文件的生成与使用的详解--------------------------------------------------------------------------------两种库:•  包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library

2018-01-03 19:19:09 1292

原创 #pragma comment(lib, "XXX.lib")学习

#pragma comment(lib, "XXX.lib")是visual studio中使用的,#pragma comment ( lib,"wpcap.lib" ) 是导入1个库文件,以使程序可以调用相应的动态链接库。和在工程设置里写上链入wpcap.lib的效果一样,不过这种方法写的 程序别人在使用你的代码的时候就不用再设置工程settings了。告诉连接器连接的时候要找ws2_3

2018-01-03 18:45:24 25448 5

转载 【SLAM】安装 g2o

2017年2月8日,那是一个阴天。为了完成高翔博士的《一起做RGB-D SLAM》教程,我在 Ubuntu 14.04 安装g2o。遇到困难,怎奈我眼瞎,找错了方向,浪费时间,没有成功安装。问题如下(跳到最后一个问题描述,直接正常安装):g2o_viewer 没有被安装这个大多是因为没有安装libqglviewer-dev(在 Ubuntu 12.04 上这东西叫libqglv

2018-01-03 15:42:58 621

原创 Linux命令:查找文件,并查看文件之间的关系

ls -l命令可以列出制定文件夹的所有指定文件,并且可以查看文件之间的关系。locate命令1.命令格式:Locate [选择参数] [样式]2.命令功能:locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快

2018-01-03 15:11:20 552

转载 opencv2和opencv3版本共存问题

由于开发的需要,要在电脑同时安装OpenCV2和3两个版本,实现版本的切换。下边记录的Windows和Linux/CMake的版本切换方式。Windows:opencv的安装这里不在赘述,下载一路next即可。然后在我的电脑属性-环境变量中,增加一个OPENCV_HOME或者OPENCV_DIR之类的变量,记录你的opencv版本,然后在PATH变量中使用OPENCV目录变量来设置

2018-01-02 09:28:56 1882 1

原创 linux12.04安装搜狗输入法

Ubuntu / Ubuntu Kylin 14.04 LTS 版本只需双击下载的 deb 软件包,即可直接安装搜狗输入法。Ubuntu 12.04 LTS 版本由于 Ubuntu 12.04 LTS 自带的 Fcitx 版本较旧,需要先通过 PPA 升级,才能安装下载的 deb 软件包。1. 点击左上角的图标打开Dash,输入update-manager,点击更新管理器。2.

2018-01-02 09:12:56 969

转载 ubuntu tab键不能自动补全命令的参数

/etc/bash.bashrc 里面有这几行语句?12345678#enable bash completion in interactive shells# if ! shopt -oq posix; then # if [ -f /usr/share/bash-completion/bash_comple

2017-12-31 11:19:25 391

转载 启动优盘的恢复

如果你的U盘做过镜像,你会发现你的U判会变小很多,那是因为有一部分空间被隐藏了,完全格式化U盘的方法如下:    1、umount /dev/sdb1 和/dev/sdb    2、mkfs.vfat /dev/sdb 和 mkfs.vfat /dev/sdb1         如果 mkfs.vfat /dev/sdb 出现如下错误:        

2017-12-30 10:24:23 181

转载 制作win.iso的启动盘

本来Linux下dd命令已经能很好的制作U盘启动盘,无奈尽管win7的iso文件多达2G多,但却不像linux发行版的镜像文件那样带有MBR,所以如果直接用dd将win7的iso文件刻录进U盘的话,电脑会因为找不到MBR而不能正常启动。所以我们要在刻录U盘之前先将MBR写进U盘的第一块扇区。在linux下,ms-sys 或者 lilo -M 都能完成这一工作。总的流程如下:(这

2017-12-30 10:21:50 167

转载 制作启动优盘

首先,用以下命令确认自己的U盘名称及路径(/dev/sdb4)df -h //这个是只有挂载才会显示的,而disk -l 是显示当前系统的所有设备,包括没挂载的。文件系统 容量 已用 可用 已用% 挂载点udev 5.9G 0 5.9G 0% /devtmpfs 1.2G 9.6M 1.2G 1% /r

2017-12-30 10:16:27 277

转载 核心转储,使用core文件

core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因为没有任何的栈、trace信息输出。该种类

2017-12-29 15:58:46 985

空空如也

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

TA关注的人

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