
C++
文章平均质量分 50
蓝域小兵
这个作者很懒,什么都没留下…
展开
-
位姿矩阵和四元数在OpenCV、Eigen和Sophus下的表示与转换
OpenCV、Eigen和Sophus不同库中的对应对象的转换原创 2023-03-11 09:40:42 · 1195 阅读 · 0 评论 -
C++使用标准库方便地读入csv逗号分隔格式的数据
编写程序过程中常常会碰到读入文件中的数据的操作,这里使用标准库方便地读取CSV格式的数据文件。思路就是读取文件的每一行为一个string,然后将string中的逗号替换为空格,再将string转换为字符流类型,然后使用输入运算符读取。原创 2023-02-20 14:46:21 · 574 阅读 · 0 评论 -
OpenCV的C++版本中初始化cv::Mat的方法总结以及直接初始化小矩阵的方法(Mat使用总结)
简单小矩阵直接赋值初始化,将小矩阵赋值到大矩阵某个区域,访问多通道矩阵某个元素某个通道,将多个点组成一个矩阵。原创 2023-02-16 11:30:53 · 4858 阅读 · 0 评论 -
VisualStudio的CMake项目中如何设置调试环境以找到调试时所需要的dll文件
有时一些项目运行时需要查找dll文件,比如使用了OpenCV作为第三方库的项目,运行时需要查找opencv_world450d.dll等文件,如果不在VS这个IDE中进行设置,最基础的方法就是将opencv_world450d.dll拷贝到执行文件所在目录,但是这种方法总是觉得不够优雅,为什么不让IDE自己查找这个dll文件呢?在VS自建项目中可以在项目-属性里面设置调试环境,但是VS中的自建项目貌似没有这个入口。这时在launch.vs.json文件中配置PATH变量就行了。如何打开launch.v原创 2022-07-12 21:58:55 · 2507 阅读 · 1 评论 -
【cmake变量笔记】
CMAKE_CURRENT_LIST_DIR存储着当前处理的lists文件所在的目录CMAKE_CUDA_COMPILER原创 2022-07-12 11:01:45 · 516 阅读 · 0 评论 -
[cmake命令笔记]get_filename_component
cmake文档地址这个命令用于获取一个全文件名(这里感觉可以理解为绝对路径)的某个特定组分,比如目录、文件名、文件扩展名(取最长的,a.b.c的文件扩展名是.b.c)、文件名不带扩展名(a.b.c取a)、最后一个扩展名(a.b.c取.c)、文件名不带路径及最后一个扩展名等等。...原创 2022-07-12 09:43:46 · 800 阅读 · 0 评论 -
[cmake命令笔记]target_compile_options
编译basalt时碰到这个命令,basalt使用的第三方库pangolin老是报错:CMake Error at thirdparty/CMakeLists.txt:67 (target_compile_options): Cannot specify compile options for target "pangolin" which is not built by this project.CMake Error at thirdparty/CMakeLists.txt:118 (ge原创 2022-05-25 16:46:48 · 4275 阅读 · 1 评论 -
[cmake命令笔记]find_path
在编译basalt时,cmake提示需要3.4.0版本的Eigen,而且在find_package中添加了exact参数,所以还不能改。然而我系统中使用apt安装的eigen是3.3.7版本的。因此下载安装了3.4.0版本的Eigen,但是cmake还是找不到这个版本的Eigen。查看basalt的编译文件发现他是使用FindEigen3.cmake文件查找Eigen库的,即在CMakelists.txt中用find_package()找到库,然后findpackage使用module模式进行查找,见C原创 2022-05-25 14:55:42 · 937 阅读 · 4 评论 -
ERROR: flag ‘flagfile‘ was defined more than once
出现在编译视觉slam十四讲ch6中问题出在我既用apt安装了gflags和glog,也用源码编译安装了glog,删除源码编译安装的就行sudo rm -rf /usr/local/include/glog/sudo rm -rf /usr/local/lib/libglog*sudo rm -rf /usr/local/include/gflags/sudo rm -rf /usr/local/lib/libgflags-*貌似是这样,库的名字不知道打错没有。...原创 2022-05-14 18:27:20 · 3564 阅读 · 0 评论 -
进程七状态转换图
原创 2020-08-16 22:06:47 · 11099 阅读 · 2 评论 -
如何在CMake项目中引入OpenCV
一、OpenCV下载opencv下载地址opencv_contrib下载地址注意opencv以及opencv_contrib的版本最好对应二、OpenCV编译安装2.1 cmake编译安装下载下来后,进入源码目录(即CMakeLists.txt的同级目录)新建build目录mkdir build运行cmake命令,注意针对OpenCV的编译,该命令有许多选项,这里仅给出我自己常用的sudo cmake -D CMAKE_INSTALL_PREFIX=/media/jaych原创 2021-07-06 19:24:52 · 28525 阅读 · 0 评论 -
判断C++中一个变量存在的位置(.rodata段 .bss段 .data段还是栈中)
注意:这个图是C++方式编译的C++11标准下的C++代码语言下生效。(因为以前有的C语言的标准是const变量不用初始化,然后放在.bss段或者.rodata段)。Llinux下可以用readelf命令查看编译的到的.o文件(可重定位对象文件)查看各段的大小来推测各个变量的存储位置。...原创 2020-08-07 14:13:54 · 1085 阅读 · 0 评论 -
让MATLAB2018b支持VS2019的mex配置
MATLAB2018自带的配置文件无法查找到VS2019(MATLAB2018先发布,当然找不到VS2019),但是我们可以通过修改配置文件的方式让其能够支持VS2019(貌似MATLAB2016及以上的版本都可以)。下载下面的文件,放到S:\MATLAB\R2018b\bin\win64\mexopts中(根据自己的安装位置修改)VS2019支持配置文件按下win+r,输入regedit打开注册表编辑器,找到\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Micr原创 2020-06-02 10:39:17 · 7450 阅读 · 18 评论 -
代码运行优化及用C++标准库进行程序运算时间统计
前言这篇博客是用来记录在牛客网上的一道编程题时遇到的问题,就是这道题: 求数组中的逆序对,这道题需要统计一个数组中的逆序对的数量,比如[2, 1],逆序对就是(2, 1),数量为1,[3, 2, 1]逆序对就是(3, 1),(2, 1),(3, 2),数量为3 。这道题的解法用到了归并排序的思想,基本思想就是分治的思想。将数组分成前后两段,先统计前段内的逆序数对,再统计后段内的逆序数对,再将排序...原创 2020-04-02 10:50:32 · 382 阅读 · 0 评论 -
Linux下的VSCode进行C++编译及调试开发的配置
我这里配置的是Linux下的VSCode,使用的编译器是GCC,调试器是GDB配置前先在终端中输入gcc,gdb(按q退出)看一下是否安装了g++和gdb如果没有安装,deepin下直接输入sudo apt-get install g++sudo apt-get install gdbsudo apt-get install gcc先配置launch.json,这里面是关于C++或者C...原创 2019-10-17 22:26:49 · 455 阅读 · 0 评论 -
Visual Studio的intellisense: "没有可用的成员"
创建了一个类的对象,要调用里面的函数却出现这个提示,查看类定义,这个函数是写了的,头文件也包含了进来,百思不得其解,最后发现问题…调用类的函数,必须写在main函数或者其他函数里面,不能直接定义一个全局变量,然后就直接调用,即是:ClassA A;A.anyfunction();int main(){ ...}// 这种代码会出错,会出现没有可用成员问题ClassA A;i...原创 2019-03-15 11:00:21 · 4283 阅读 · 0 评论 -
C++文件操作
先贴上代码// fstream.cpp : 定义控制台应用程序的入口点。//#includeusing namespace std;void main(){ ofstream fout; int num; char a[] = "John Doe"; fout.open("output.txt"); num = 20; fout<<"here is a number:转载 2017-03-20 19:15:31 · 447 阅读 · 0 评论