自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hust_sheng的专栏

学习积累

  • 博客(60)
  • 收藏
  • 关注

原创 FREAK描述子的使用,基于opencv-3.2.0

如果按照上述title搜索,网上的demo都来自于论文的算法实现:github-freak,但是最新的3.2.0的接口是完全不适用的,果然是contrib…故做以下修正头文件和命名空间(新的代码结构)#include <opencv2/features2d/features2d.hpp> #include &

2018-07-17 23:36:40 2389

原创 ubuntu下cuda8.0导致Pangolin编译失败

ubuntu14.04安装cuda8.0之后,编译Pangolin会出现下面的error首先给出Pangolin的安装命令sudo apt-get install libglew-devgit clone https://github.com/stevenlovegrove/Pangolin.gitcd Pangolinmkdir buildcd buildcmake ..c...

2018-05-26 09:44:11 1714

原创 eigen稀疏矩阵拼接(基于块操作的二维拼接)的思考

转载请说明出处:eigen稀疏矩阵拼接(块操作)eigen稀疏矩阵拼接(块操作)关于稀疏矩阵的块操作:参考官方链接 However, for performance reasons, writing to a sub-sparse-matrix is much more limited, and currently only contiguous sets of columns...

2018-03-21 23:06:58 5904 1

原创 使用OpenCV中的filter2D函数精确实现matlab中的imfilter函数(已测)

转载请注明出处:http://blog.csdn.net/hust_sheng/article/details/79313503背景最近复现别人算法的时候,遇到了matlab中的imfilter转opencv中的filter2D不匹配的问题; 两个平台不匹配是很正常的,比如边界等问题,两个平台可能会采取不同的策略;这里只考虑一维kernel的滤波操作,二维kernel后续...

2018-02-11 21:57:19 3622 4

原创 稀疏矩阵在opencv中的应用(大矩阵运算速度过慢的问题,借助SparseMat?)

转载请注明出处:http://blog.csdn.net/hust_sheng/article/details/79208772大矩阵相乘的问题很多算法在执行的过程中产生的大矩阵往往包含很多0元素,我们下面的内容也是主要针对这类矩阵展开的。所以这个问题换一个说法就是 稀疏矩阵在opencv中的应用先给两个链接: opencv的稀疏矩阵类SparseMat官方文档 openc

2018-01-30 17:34:23 4719

原创 VS编译报错 error MSB6006: “cmd.exe” exited with code 1.

报错 error MSB6006: “cmd.exe” exited with code 1.产生这个错误的时候,程序不会崩掉,但是错误窗口会显示上面的信息~这类问题网上有一大堆博客来解决,但是可以看出原因各不相同(文件不全、管理员权限不够、路径中包含中文、路径中含有空格…),因为这样的问题往往不是某一个甚至是某几个确定的原因造成的,当然也不排除一些固定软件的编译过程展现出一致的原因,比如这个博客:

2017-12-17 19:38:55 13023 2

原创 相机去畸变软件OCamCalib的使用方法

OCamCalib软件的使用方法标签:相机标定matlab进入对应目录 比如 C:\Users\popsheng\Desktop\Scaramuzza_OCamCalib_v3.0_win输入ocam_calib 打开下面的界面 拍照要求 ATTENTION! In order to obtain good calibration results, I suggest the fol

2017-09-14 10:07:25 11239 36

原创 OpenGL 按照三角形仿射变换并贴图渲染(基于shader)(二)

OpenGL 按照三角形仿射变换并贴图渲染(正常渲染或离屏渲染以及异步优化)(二)标签(空格分隔):CG opengl前面我们详细介绍过OpenGL 按照三角形仿射变换并贴图渲染的过程(一),是基于OpenGL2.0的接口来实现的,但是随着OpenGL的发展,3.0版本中关于shader的使用已经日渐普及,下面给出基于shader的纹理贴图渲染的写法,基本原理和(一)是一样的,我们着重介绍shade

2017-08-28 19:48:25 3430

原创 OpenCL的多GPU开发(顺便提一下OpenGL的多GPU开发)

OpenCL的多GPU开发(顺便提一下OpenGL的多GPU开发)标签(空格分隔):加速 opencl需求在某些加速优化项目中会使用到GPU,且为了追求速度,有时候我们会使用多块GPU。就OpenCL而言,如何充分利用多个GPU的运算能力十分关键。多线程(以两个GPU为例)//传入图像数据errNum = clEnqueueWriteImage(commandQueue_1stGPU, img

2017-07-23 15:24:06 4459

原创 OpenGL 按照三角形仿射变换并贴图渲染(正常渲染或离屏渲染以及异步优化)(一)

OpenGL 按照三角形仿射变换并贴图渲染(正常渲染或离屏渲染以及异步优化)标签:CG opengl需求  在2转8路或者4转64路虚拟视点合成的项目中,需要根据真实相机的真实视点合成虚拟位置(虚拟相机)的虚拟视点。最后一步的绘制过程大致如下:  其实就是将图像以三角形为单位,从原始图像(左侧)向目标图像(右侧)映射,也即warp。本质是仿射变换的过程。怎么用OpenGL实现上述过程?  OpenG

2017-07-17 21:34:37 3849

原创 如何将OpenGL渲染的图片保存到本地(正常渲染和离屏渲染)

关于如何将OpenGL渲染的图片保存到本地标签(空格分隔):CG opengl主要就是使用函数 glReadPixels()

2017-07-17 21:00:26 12836 2

原创 windows下配置OpenGL环境(glut、freeglut、glew等工具)

windows下配置OpenGL环境(glut等工具)标签(空格分隔):vs opencv glut opengl CG转载请标注:http://jingyan.baidu.com/article/d5c4b52bca5005da560dc5d6.html下载glut库 http://www.opengl.org/resources/libraries/glut/glutdlls37beta.z

2017-07-14 19:39:36 6220 1

原创 ubuntu下使用VScode打开本地使用makefile编译的工程(包括命令行参数的配置)

ubuntu下使用VScode打开本地使用makefile编译的工程(命令行参数的配标签(空格分隔):vs opencv安装VScode网上有很多安装教程,较为简单。安装需要注意的是,如果debug对象是c/c++的话,要先安装相关的依赖。VScode安装依赖的一般方法快捷键:ctrl p输入 >ext install,选择”扩展:安装扩展” 在左侧选择相应的扩展程序 C++(GDB) 进行安

2017-03-24 12:37:14 11430

原创 ubuntu14.04下配置cuda8.0以及测试OpenCL(测试通过)

标签(空格分隔):linux cuda OpenCL环境: 系统:ubuntu14.04(linux) 显卡:NVIDIA cuda版本:cuda8.0安装cuda8.0(使用deb安装)并测试官方下载安装包:https://developer.nvidia.com/cuda-downloads 这里我使用的是基于ubuntu14.04的deb的local版本 下载完成之后参考 CUDA

2016-12-03 15:35:05 6594 4

原创 Windows系统下GitStack的本地部署

Windows系统下GitStack的本地部署标签:git  有时候我们会做一些自己的小项目开发,会用到项目代码版本的迭代、分支、更新等,并且手边还没有多余的服务器可以使用,这时候我们可以使用gitstack在本地搭建一个git仓库用于代码管理,下面介绍一下在Windews下的GitStack的搭建。下载安装GitStack 【下载】http://gitstack.com/ 双击安装即可,安装

2016-11-18 20:13:51 3491 1

原创 Solution(VS)下多工程之间共享全局变量失效问题

Solution(VS)下多工程之间共享全局变量失效问题标签(空格分隔):c/c++ vsSolution解决方案的意思,可以看做是多个关联项目的链接器。解决方案把多个相关联的项目通过sln文件关联起来,记录项目地址方便开发者。一个解决方案可以有多个项目(project),项目可以单独生成,此时解决方案并不会更新,需要你重新生成来挂上新的项目的链接。问题描述Solution(解决方案)ut

2016-10-16 11:06:14 1419

原创 调用动态库导致符号无法解析错误

error:符号无法解析标签(空格分隔):vs c/c++符号无法解析的常见原因头文件包含出错,导致链接过程找不到源文件lib或dll引入失败(静态库或动态库配置问题)调用动态库的情况下,跨工程引入头文件导致的符号解析错误对第三种情况进行详细说明  较为大型的项目常常会设置较多个工程,以其中一个工程为主工程(包含main函数),且该主工程通过调用其他子工程的静态库或动态库中的相关函数完成处理

2016-10-16 10:20:41 4249

原创 C语言宏接收函数及其参数

C语言宏接收函数及其参数标签:c/c++#include <stdio.h>#include <stdlib.h>#define call_optimized(function, arguments) {\ printf("\n-------------"); \ printf("\n\tCALL %s\n", #function); \ function argument

2016-04-08 10:03:34 3332

原创 符号优先级的坑

记一个符号优先级带来的坑标签:c/c++结论:当一个人sb的时候,全世界都会为你助攻啊!符号优先级表最容易被忽略,但是一旦有坑,都不是一时半会能发现的!下面是一行关于将二维变一维的代码( (img->width + 2 * IMG_SUBPIXEL_PAD_SIZE) * 4 表示第二维宽度大小)[原始]Pic[y][x & 3] [错误的修改] Pic[(y)*((img->width +

2016-04-06 15:27:55 675

原创 关于函数返回字符串常量的问题

关于函数返回字符串常量的问题标签(空格分隔):c/c++首先看下面的代码// 此处省略头文件预处理语句using namespace std;const string& Func() // &去掉{ return "123";}int main(){ string s = Func(); cout << s << endl; return 0;}在g++编译下

2016-03-21 22:15:57 3546 1

原创 二维数组和一维数组的数据分布和存取

二维数组和一维数组的数据分布和存取标签:c/c++二维数组在存储分布上和一维数组是一样的,但是存取的写法却是有很大差异的#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int i, j; char mark[64][64] = {0}; char a = 1; for (i

2016-03-20 19:27:16 2662 1

原创 关于constexpr关键字以及修饰的函数

关于constexpr函数标签(空格分隔):cpp先看一个例子 [tect1.cpp]#include <iostream>#include <cstdlib>#include <cstdio>//#include "test.h"using namespace std;constexpr int screen(int x){ return x; }int main(){

2016-03-16 20:58:29 2315

原创 被const修饰的函数

被const修饰的函数标签(空格分隔):c/c++部分参考:http://www.tuicool.com/articles/Nz6N3e用const修饰函数的参数如果输入参数采用 指针传递 ,那么加 const 修饰可以防止意外地改动该指针,起到保护作用。 例如 StringCopy 函数:void StringCopy(char *destination, const char *source

2016-03-12 10:04:33 855

原创 typedef引起的bug

typedef你用错了么?标签(空格分隔):c/c++先看一段正常的代码[test1.cpp]#include "test.h"int main(){ char s[4] = "asd"; const char *ctr = s; ctr = "ksd"; return 0;}  const表示我们不能通过ctr改变s数组的值(提个醒,数组都是底层const,不过

2016-03-11 22:07:45 511

转载 sizeof求结构体大小的问题

sizeof求解结构体大小的问题标签(空格分隔):c/c++具体见:http://www.cnblogs.com/0201zcr/p/4789332.html?utm_source=tuicool&utm_medium=referralsizeof求解结构体大小的问题  如何给结构体变量分配空间由编译器决定,下面的情况针对的是Linux下的GCC。在Windows下的VC平台也是这样,至于其他平台

2016-03-09 10:37:13 6181 2

原创 #define和const之间的对比分析

#define和const之间的对比分析标签(空格分隔):c/c++define部分: 宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议。)宏的语法为: #define 宏名称 宏值 注意,宏定义不是C或C++严格意义上的语句,所以其行末不用加分号结束。 作为一种建议和一种广大程序员共同的习惯,宏名称经常使用全部大写的字母

2016-03-07 21:21:51 712

原创 C/C++中的重复定义bug

C中的全局变量的使用标签(空格分隔):c/c++使用不当很容易出现重定义的bug可以重复声明,不可以重复定义   在.h头文件中,变量如果没有初始化就是声明;初始化了就是定义。所以很多代码里面,都把变量的声明放在.h文件中当作全局变量使用,这是可以的,但如果这样使用的话是不能进行初始化的。一旦对.h中声明的变量进行了初始化也就相当于进行了定义,就可能出现重复定义的bug。或许可行的解决方案#i

2016-03-07 21:20:07 10025 2

原创 linux中的前台任务、后台任务和守护进程

前台任务、后台任务和守护进程标签:linux内容参考:http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html前台任务特点   ”前台任务”(foreground job)是独占命令行窗口的任务,只有运行完了或者手动中止该任务,才能执行其他命令。后台任务简介   与前台任务相对应,在多任务系统中,有一些任务在运行的时候,并不需要与用户交

2016-02-29 17:03:45 4559

原创 GStreamer部署-Linux(ubuntu14.04)(已测试)

GStreamer部署-Linux(ubuntu14.04)(已测试)标签:GStreamer环境ubuntu14.04apt-get 命令方式安装sudo apt-get install libgstreamer0.10-dev gstreamer-tools gstreamer0.10-tools gstreamer0.10-docsudo apt-get install gstreamer

2016-01-24 21:43:50 8364

原创 sizeof运算符详细总结

sizeof运算符的系统总结标签:c/c++转自 http://blog.csdn.net/w57w57w57/article/details/6626840简介   sizeof是C/C++中的关键字,它是一个运算符,其作用是取得一个对象(数据类型或者数据对象)的长度(即占用内存的大小,以byte为单位)。其中类型包含基本数据类型(不包括void)、用户自定义类型(结构体、类)、函数类型。数据对

2016-01-18 16:36:18 58130 14

原创 c/c++ 文件操作相关的常用函数

文件操作相关的常用函数标签:c/c++删除文件 DeleteFileBOOL DeleteFile( LPCTSTR lpFileName // 文件名指针);功能说明 删除一个存在的文件返回值如果成功返回一个非0值失败返回0,可以用GetLastError函数得到错误信息   如果程序尝试删除一个不存在的文件。GetLastError返回ERROR_FILE_NOT_FOUN

2016-01-17 14:39:03 761

原创 关于类型转换、溢出、移位等操作的小总结

类型转换、溢出、移位等操作标签:c/c++类型转换运算符两边操作数的类型转化 此时,操作数类型的转换规则如下:图中的横向箭头:针对运算符两边是同类型的数据(不同级别的类型当然也适用!)   表示必须的转换(虽然运算符两边的操作数类型相同),如两个float型数参加运算,虽然它们类型相同,但仍要先转成double型再进行运算,结果亦为double型。两个char类型的数据进行相关的操作也是一样(

2015-12-26 22:30:41 16869

原创 全局变量初始化相关的一个错误

全局变量初始化相关的一个错误标签(空格分隔):Coding-Nissan全局变量初始化全局变量 在C++中对于以下语句:// 全局域int i = 3;int j = i;  因为是全局变量,编译时会将i放入.data段,并设置其值为3.而对于j,编译器遇到这种非常量的全局变量初始化语句,只知道j=i,由于i是变量,不是常量,编译器无法在编译时直接得到它的值,即编译器不能够直接用3来初始化

2015-11-21 14:23:01 1063

原创 vs:Release版本和Debug版本的区别以及转换

vs:Release版本和Debug版本的区别以及转换标签:vs简介 vs中的工程有debug和release两个版本:Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,但是不做任何优化(性能有影响),目的是为开发人员提供强大的应用程序调试能力,也就是说只有在Debug模式下,我们才可以使用vs所提供的所有的程序调试功能,比如:单步调试中将光标移至变量处即可以获取

2015-11-21 14:21:49 13183 3

原创 引导出错进入grub rescue导致的无法正常开机

引导出错进入grub rescue导致的无法正常开机系统升级、双系统安装、格式化第二系统(ubuntu)磁盘等可能导致标签(空格分隔):win-问题产生 (双系统)格式化ubuntu系统所在的磁盘,电脑重启之后出现下述问题现象 重启之后,出现error,系统进入grub rescue>界面,即没有正常引导系统加载。解决方案在Linux下设置mbr引导记录:(1)制作ubuntu的优盘

2015-11-20 11:52:42 2088

原创 Linux中的正则表达式

Linux中的正则表达式标签:linux基础的正则表达式.(一个点) [root@localhost ~]# grep 'r..t' /etc/passwd 上述命令可以找出/etc/passwd中含有’r..t’的行。* “*”符号用于匹配前一个字符0次或任意多次; “*”符号经常和“.”符号加在一起使用,比如“.*”代表任意长度的不包含换行的字符。\{n,m\}\{n\}匹配前面的

2015-10-09 10:34:10 740 1

原创 Linux下的编辑器:vi和vim

Linux下的编辑器:vi和vim标签: linuxvi和vim vim编辑器是vi的加强版,在简单的文本操作上与vi几乎完全一致。vi vi编辑器有3种模式,分别是一般模式、编辑模式、末行指令模式。三种模式的关系如下,这里不再赘述。 vi的一些基本操作 vi的光标移动操作: vi的编辑操作: vim的强化操作 多行操作   vim支持多行编辑,而vi每次只能处理一行。进入

2015-10-08 16:48:45 540

原创 Linux系统下的启动流程&运行级别&用户管理

Linux系统命令之系统启动流程【计算机加载BIOS】   该过程中最重要的一步就是对自身硬件的健康检查,这种通电之后的自检过程叫做“加电自检”,简称POST。【系统引导】   BIOS默认会从硬盘上的第0柱面、第0磁道、第一个扇区中读取被称为MBR的东西,即主引导记录。   一个扇区的大小是512字节,存放的内容是一段引导程序和分区信息,其中引导程序部分占用446字节,另外64字节是磁盘

2015-09-28 15:21:20 634

原创 字符串数组和字符串指针

先看一个例子:char *getStr(){ char str[] = "hello world"; // 生成在栈空间的局部变量 return str;}  不能这样,因为char str[] = "hello world";定义了一个局部字符数组,保存在栈中,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址。   解决方法:str[]改成*s

2015-09-08 11:54:22 672

原创 动态规划简介

动态规划动态规划 是一个多阶段决策过程:关于动态规划的几个概念 决策:在一个阶段的状态给定以后,从该状态演变到下一阶段某个状态的一种选择称为决策。也就是在两个阶段间选择发展途径的行为。 决策变量:描述决策的变量称决策变量,用一个数或一组数表示。不同的决策对应着不同的数值。 决策序列:事件的发展过程之中需要经历n个阶段,需要做n次“决策”,这些“决策”就构成了事件整个发展过程的一个决策序列

2015-09-06 17:06:06 2346

空空如也

空空如也

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

TA关注的人

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