自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 找回git误删除的文件

git找回被误删除的文件

2022-09-24 15:24:42 734 1

原创 Opencv源码跟踪

自己编译的opencv源码跟踪

2022-08-04 17:53:39 700

原创 windows下opencv+contrib源码cmake+vs工程配置

windows10 vs2017 opencv cmake

2022-07-15 18:41:03 713

转载 Ubuntu安装VScode(搬运命令行)

To install Visual Studio Code on your Ubuntu system, follow these steps.First, update the packages index and install the dependencies by typing:sudo apt updatesudo apt install software-properties-common apt-transport-https wgetNext, import the Mic.

2021-10-22 14:00:58 2298

原创 Ubuntu虚拟机删除dev/loop

【本文任务描述】:在VM虚拟机安装了ubuntu18.04,插叙df的时候发现很多/dev/loop的占用都是100%,但实际上并没有用到。因此找方法将这些设备删除掉。【第一步】直接尝试删除指令apt autoremove --purge snapd或者需要管理员权限来执行sudo apt autoremove --purge snapd如果报错如下所示,则进入第二步E: Could not get lock /var/lib/dpkg/lock-frontend...

2021-10-20 23:17:10 5137 2

原创 Ubuntu下编译CPP动态链接库及使用方法

【任务描述】CPP开发了一些功能,打包成so文件对外发布,并且调用这个so文件。自己写了两个小功能(1)show_img和(2)print_string;就是调用opencv的imread函数将图像读到内存并,以及打印输入的字符串。将这两个小功能分别封装成动态链接库文件,并在另一个main函数中调用他们。【一、文件目录】如下图所示,show_img文件夹包括:实现show_img.h和show_img.cpp文件,以及CMakeLists.txt文件(编译so库),build文件夹是防止编译

2021-03-27 15:20:49 1881

原创 Win10 + VS2017 + Ceres配置

【前言】Ceres是google出品的一款基于C++的开源非线性优化库。官方文档如下:Ceres官方文档地址依赖库】Eigen - 官网glog - githubgflags - githubceres - github【配置过程】1.EigenEigen是由.h文件构成的一款支持矩阵运算的数学计算库,因此不需要额外编译,仅解压缩后得到源码文件即可。2.glog解压得到源码文件glog-master后,在同级目录下建立glog_build文件夹,用来放置编译后的文件。打开CMAKE客

2020-06-09 22:08:09 3079 15

原创 windows环境下python调用cpp动态库(win10+opencv)

【前言】在windows环境下,可以利用python直接调用cpp的动态链接库,从而达到混合编程的目的。一、cpp的动态链接库windows下编译cpp的动态链接库的技术比较多了,这里指出两处需要特别注意的地方:(1)要利用extern "C"关键字,实现C编译;(2)pythoe与 cpp的接口最好重写,即在功能函数外面添加一层包装,在包装内实现数据交换。二、python调用cpp的动态链接库主要注意三个地方:(1)dll如果依赖于其他动态库(如opencv),则必须保证其他被

2020-06-01 21:42:37 2187 1

原创 Rodrigues(罗德里格斯)公式的理解与应用(旋转矢量与旋转矩阵的转化)

任务描述\textbf{任务描述}任务描述:RodriguesRodriguesRodrigues(罗德里格斯)公式描述的是:空间内的任意一个向量v\textbf{v}v,绕指定的旋转轴k\textbf{k}k旋转θ\thetaθ角度,得到空间向量vθ\textbf{v}^{\theta}vθ的过程。RodriguesRodriguesRodrigues公式利用v\textbf{v}v,k\tex...

2020-02-29 16:59:18 8402 4

原创 arXiv上引用文章在bibtex下的引用格式

1. 推荐一个网站,输入arXiv上被引用文章的编号,即可自动生成bibtex的引文格式。https://arxiv2bibtex.org/?q=2001.09678&format=bibtex注意:这个网站需要翻墙。效果如下图2.自己手写的话,就按照上面生成的格式敲入自己的bib文件即可。@misc{2001.09678,Author = {Qiwei X...

2020-01-29 22:00:43 28744 1

原创 arXiv提交文章遇到的问题

No.1 Package natbib Error: Bibliography not compatible with author-year citations.这个问题是因为usepackage{natbib}包不能被正确引用的原因,目前给出的处理办法就是不再使用这种引文包,而是使用latex的自己的引文方案。1.将.bbl的内容,全部粘贴复制在.tex文件内,具体的位置,就是取代之前...

2020-01-27 18:56:32 3968

原创 CMakeLists.txt编译进行调试的GDB简介

任务描述:利用CMakeLists.txt设置生成支持调试的.gdb文件,进而可以对代码进行调试。Step 1. 设置gdb指令SET(CMAKE_BUILD_TYPE "Debug")SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXX...

2019-12-02 18:06:13 5700

原创 Ubuntu环境下cmake编译C++代码为可执行文件

任务描述:在Ubuntu下利用cmake方式编译C++代码,并运行。分为三个步骤,由浅入深逐步讲解。Part A. 多源码编译;Part B. 源码+第三方库编译;Part C. 多文件源码+第三方库Part A 源码step 1. 编写示例代码如下:#include <iostream>#include "a.h"#define NUM 100int ma...

2019-11-28 15:49:37 7497 6

原创 Ubuntu环境下C++代码读取指定路径下的所有文件

任务很明确,直接上代码。#include <iostream>#include <dirent.h>bool get_filelist_from_dir(std::string _path, std::vector<std::string>& _files){ DIR* dir; dir = opendir(_path.c_st...

2019-11-27 18:03:45 2901

原创 Ubuntu环境下VScode配置OpenCV的C++开发环境

任务描述:ubuntu下在vs code内配置opencv的c++环境, 并运行示例代码。step 0. 写在前面的话我的环境是Ubuntu18,OpenCV3.4.1+contrib3.4.1,VScode都是已经安装好的。其中opencv的配置请参考ubuntu下opencv的配置。VScode是直接在商城中搜索下载即可。step 1. vs code插件安装...

2019-11-21 18:08:45 18725 7

原创 ubuntu环境下sublime配置Opencv的C++开发环境

任务表述:在ubuntu下对sublime进行配置,使其可以运行基于opencv的c++代码。step 0. 写在前面的话。我是在Ubuntu18下执行的,opencv是自己编译的,并配置了sublime的编译环境及其快捷运行方式。step 1. 安装sublime和opencv安装sublime的方案我之前也整理过一篇,这里不再赘述,直接附上ubuntu下安装sublime...

2019-11-20 10:30:54 404

原创 ubuntu安装配置opencv和其contrib模块(Ubuntu18+opencv3.4.1+contrib3.4.1)

目标:安装并配置opencv及contrib模块,并成功运行。step 0. 写在前面的话我是在ubuntu18下配置opencv3.4.1和opencv-contrib3.4.1step 1. 下载opencv及contrib相关方案请参考下载opencv及contrib模块,感谢博主的分享。重点提醒一下,原则上请大家尽量下载版本号一致的两个文件;如不一致的话,其实也可以编译...

2019-11-19 17:45:28 4245 1

原创 ubuntu下用GNU(gcc/g++)进行编译

主要介绍在ubuntu下利用GNU进行编译的过程和部分指令的含义, 帮助新手小白入门。(Part A.)写在前面的话step1. 常说到的GNU、gcc和g++什么关系?关于这个可能会困扰到你的问题,推荐gcc与g++的关系,博主给出了简短而详实的解释。总结就是两句话:1. gcc是GNU的简称;2. g++包含gcc。step2. 安装GNU的方案网上一大堆,这里也推荐一篇是...

2019-11-18 19:28:58 1556

原创 Ubuntu环境下CPP开发的基础配置

任务描述:新手小白入门在Linux下进行CPP开发的基础配置。目标:在Ubuntu下编写cpp代码,并成功运行。Step 0. 之前的一些准备。我是在虚拟机的纯净Ubuntu环境下“白手起家”的。因此,我们为了达成任务目标,需要做的事情主要有两个(1)安装一个好用的文本编译软件,推荐sublime或visual studio code;(2)安装一个编译器,可以把文本编译成电脑能运行的...

2019-11-18 15:28:09 1153

原创 Git的本地仓库迁移到远程仓库

本文主要介绍本地仓库迁移到远程仓库Part A目标描述:本地仓库已有log信息,但从未向远程仓库推送过。即:仅维护本地的git仓库,但此时希望将本地仓库推送至一个新建的远程仓库中进行协同管理。step 1. 新建一个远程仓库,如图:step 2. 将远程仓库的指针添加到本地git remote add origin https://github.com/zkhysz/G...

2019-11-16 22:18:16 683

原创 Git新建远程仓库和本地仓库的协作管理

本文主要记录 新建Github远程仓库和本地的协作管理。推荐的Github使用一般流程建立远程仓库 -> clone到本地 -> 添加工作 -> 保存本地仓库 -> 推送远程仓库step 1. 建立远程仓库如上图所示,右上角红色箭头指示标签,按下后进入到如下节界面:在箭头所示的地方填入仓库的名称,本示例中取名Git_Example,其余设置选项也...

2019-11-16 21:16:50 284

原创 Anaconda中找不到cv2的解决方案

网上有太多关于 ImportError: No module namedcv2的解决方案;我在使用中也遇到了这一问题,但是网上的解决办法都没有效果,后来自己摸索出了一条路子,如果你也是百度、google了半天却没有解决这个问题的话,不妨也试一下我的这个方法吧。祝你好运!在anaconda cloud的搜索框内键入opencv3,下付网址链接。https://anaconda.o...

2019-05-19 13:57:12 16191 1

原创 获取windows文件夹下指定文件的名称列表

在配置Opencv或PCL库等过程中,往往在环境配置的时候需要将依赖库名称添加至VS的依赖项选项中。现在提供一种cmd下的操作,可以将制定文件目录下的指定文件( 如.lib文件)名称保存在一个txt中,方便复制粘贴。(1)下面以Opencv的lib库文件夹为例,如下图所示。debug库和release库都存在于当前目录下。(2)win+R打开命令窗口,运行cmd指令。(3)首先...

2019-04-26 11:29:05 968

原创 删除右键“在Visual Studio中打开”

在安装VS15(Visual Studio 2017)之后,会在右键菜单下出现“在Visual Studio中打开”的功能项,删除的办法如下:首先新建一个文本文档(即.txt文件),在文件内黏贴下列指令:Windows Registry Editor Version 5.00[-HKEY_CLASSES_ROOT\Directory\Background\shell\AnyCode]...

2019-02-26 09:11:43 20684 13

原创 MatLab由数据点拟合高斯分布参数

进行数据点的高斯分布参数拟合之前,有以下几点需要注意:(1) 数据点要近似是高斯分布的形态,即近似符合正太分布的规律;(2)数据集在使用时要进行归一化处理;(3)数据集索引,即数据点的个数要为奇数;若实际应用中为偶数个数据点,可以对数据点进行插值拉伸为奇数个数据点再进行使用。 我们使用1280个点组成的数据集,其分布形状如下图所示可以观察到数据点近似为正态分布的形状,可...

2019-01-27 10:24:02 43197 18

原创 在TeXstudio内实现中文编译

方案一:修改编译器为XeLaTeX,方法如下:Options -&gt; Configure -&gt; Build -&gt; Default Compiler -&gt; XeLaTeX并在文本开头处,添加如下宏指令集\usepackage{fontspec}\setmainfont[Mapping=tex-text]{KaiTi}方案二:在文本开头添加如下指令宏...

2019-01-25 19:07:12 13630

原创 C++关于文件检索的源码转译技巧(R"()"方式)

在C/C++编写代码的过程中,经常会用到检索文件路径的时候, 首先要明确一点,由于“\”符号是C\C++的保留符号,因此直接粘贴路径字符串在代码中是不能使用的。例如下面的方法,是不能得到目标路径字符串的。string s0 = "C:\Users\Administrator\Desktop\RWtest\write.txt";cout &lt;&lt; s0.data() &lt;&lt;...

2018-12-06 21:55:12 6379 1

原创 Julia入门初步学习

最近小研究了一下Julia,看了一点入门的基础知识。记录一下。第一步,安装Julia。我是在windows环境下使用的,傻瓜安装next到底就可以了,没有什么需要额外配置的选项,安装完成后,要把Julia.exe的路径添加到环境变量中去,方便以后的使用。第二步,安装文本编译器。Julia官方推荐Juno,但是我试了一下不太会用,没研究明白怎么debug;VScode也有julia插件,...

2018-11-15 17:14:58 5283 4

原创 Python调用matlab的方案

在matlab的官方文档中有教案,按照教案走一遍就大致会了基础的东西。本博文简单记录一下框架步骤。matlab教案如下图:框架步骤如下:首先在matlab的command window内键入:cd "matlabroot\extern\engines\python"python setup.py install 上面的指令中,matlabroot是安装matlab的根目...

2018-11-15 16:36:56 1347

原创 char、string、int的相互转化

1、string 转 const char*//> string -> const char*string str = "example";const char* p = str.data(); //> 1st approachconst char* p = str.c_str(); //> 2nd approach2、char* 转 string/...

2018-08-08 16:20:03 252

原创 C++在路径下新建一个指定名称的文件夹

在保存数据是,我们希望将新生成的数据单独保存在一个文件夹中,其实我们可以通过程序自动生成一个指定名称的文件夹,存放数据,而不必提前手动新建文件夹并修改名称。代码实现的方法也很简单, 但是需要注意的是该方法需要包含windows.h头文件。代如下图:string filePath = "OldFilePath\\"; //&gt; current file pathstring save...

2018-07-28 10:06:52 5366

原创 C++读写二进制文件

1、读二进制文件的数据内容时,使用到 ifstream 类,三个步骤(1)打开文件 open 函数;(2)读文件 read 函数;(3)关闭文件 close 函数。2、写二进制文件的数据内容时,使用到ofstream 类,三个步骤(1)打开文件 open 函数;(2)写文件 write 函数;(3)关闭文件 close 函数。  具体实现如下代码// input Mat im...

2018-07-28 09:57:42 2480

原创 在程序中关闭Opencv库函数的并行运算

Opencv的并行运算方式极大的提高了运算效率,但是,有时我们出于某些目的,需要对不同程序的运行优先级进行设置。此时发现,opencv库函数中有某些循环计算是自动调用了并行运算的计算方式。这样以来,我们便无法对该函数进行有效的运行优先级控制。最基本的更改方法是, 重新编译opencv库函数,并且在c-make的时候,对并行运算功能进行设置。除此之外,还有一种比较方便的修改方式,就是...

2018-07-16 20:13:14 2711

原创 C++控制输出小数位数

C++风格的小数位输出控制利用cout函数输出指定为是的小数;C++风格输出txt文件是指定输出位数;代码如下:#include &lt;iomanip&gt;double dd = 0.123456789;float ff = 1.2f;cout &lt;&lt; "Original data:" &lt;&lt; endl;cout &lt;&lt; dd &lt;&...

2018-07-11 11:21:38 8089

原创 Matlab读写.mat数据

.mat文件的方便之处在于,它可以连同数据的变量名一同保存下来(这一点在程序调试的过程中很方便),并且不需要控制数据的存储格式,matlab会自动保存并区分我们所存储的内容。利用load和save指令可以实现对.mat文件的读写。(1)利用save指令写.mat文件首先在Editor内建立一些示例变量,如下所示:A=[123;456;789]; B=...

2018-06-08 08:57:44 197647 22

原创 C读写二进制文件

Tips for green man:首先,对编程经验较浅薄的读者们重申一个观点: 计算机内部的一切数据流和信息流,都是二进制的。我们不要纠结于“读二进制的文件”, 或者“写十六进制的文件“, 类似这样的问题。 因为文件本身的保存数据都是按二进制来写的,我们的着眼点应该是文件内的“内容”是什么。比如说你在一个txt文件内,写入了一个“十进制的5”,你打开这个txt看到的就是一个十进制的...

2018-06-08 08:57:31 11545

原创 Matlab按照序号连续显示图像

首先要求图像是按一定规律的序号排列,然后在一个figure中连续显示出来,间隔时间可控。for num = 1:15      imgname = ['D:\exam\img_', sprintf('%05d', num), '.png'];      if exist(imgname) ~= 0          image = imread(imgname);          imshow(...

2018-06-07 13:27:03 7962

原创 C/C++中的int类型、float类型、double类型

1、int 和 float现在大部分常用的Visual Studio编译器中,int型和float都占用4字节(32 bits)内存。但区别在于:int型数据转换为二进制存储的格式为:最高位是符号位sign,剩下的31位表示实数值real_number。因此,int = sign * real_numberfloat型数据在转换为二进制存储格式是:最高位是符号位sign,接下来八位是指数位expo...

2018-06-07 13:26:56 6516

原创 matlab数据读入与写出

1.文本文件1)读入buff = load('filename');此命令读入的.txt文件按数据在.txt文件内的存储方式被写入到buff变量中。以空格来分割行元素,回车来分割列元素。要求.txt文件中必须要是十进制数据,并且行列要对其,不可以有缺省.txtname = 'D:\exam.txt';  %文件路径  txtdata = load(txtname);  如上图所示的代码,则exam...

2018-06-07 13:26:07 4186

原创 C++搜索文件夹内所有图像并按顺序播放

在文件夹内搜索所有指定格式的文件内容,并按顺序播放。本程序中以图像为例演示。主要用到_finddata_t、_findfirst、_findnext、_findclose等结构体(_finddata_t)或函数(其他三个)。他们都属于io.h头文件。首先是头文件库如下:#include "stdafx.h"  #include "iostream"  #include "string"  #inc...

2018-06-07 13:25:58 2230

win10环境64位ceres-solver编译库

ceres-solver-1.14.0 + eigen-3.3.7 + gflags-master + glog-master

2020-06-23

空空如也

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

TA关注的人

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