自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows+openMVS+cmake-GUI编译过程

windows10、openMVS、cmake、编译

2022-03-25 17:36:08 2349 2

原创 安装opencv3.0时出现“fatal error: stdlib.h: No such file or directory”

解决办法:在cmake命令行中加上-DENABLE_PRECOMPILED_HEADERS=OFF即可

2022-03-19 19:25:46 3633

转载 ubantu20切换源

注意,这篇文章其实不是简单的教你怎么换成20.04的源,而是教你一种基于20.04的方法来换源。笔者在写这篇文章的时候,20.04 还没有release出来正式版,但是已经可以在仓库里看到有源存在了,故写下这篇文章。请注意:Ubuntu 20.04 已于4月23日发布正式版本。请注意:发现有些软件比如ckermit,仓库里还没有,升级及换源自行斟酌。1 备份原来的源cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak12 搞

2021-11-22 14:35:20 1648

原创 三维重建sfm的openCV实现

#include <opencv2\features2d\features2d.hpp>#include <opencv2\highgui\highgui.hpp>#include <opencv2\calib3d\calib3d.hpp>#include <iostream>using namespace cv;using namespace std;void extract_features( vector<string>&.

2021-04-20 19:07:12 652 2

原创 VCPKG 下载太慢的解决方式

最近在装openMVS,根据building的指引,我需要使用vcpkg下载各种依赖。不得不说这玩意是我见过最致命的包管理工具,半天下载不下来,一百多个包,简直要命。在下载过程中,发现会有如下提示:可以看到最后一行的url,实际上可以使用这个url直接拿到浏览器当中下载。如果包少还好,包多的话,我需要一个一个下载,并且修改名称为->后边的字符串,非常麻烦。最后无奈为了稍微加速,只能用Python写个脚本:import urllib.request#每次根据vcpkg的提示

2021-04-17 19:23:38 1767

原创 阅读笔记·深入理解计算机系统·个人向[01]

1.只由ASCII字符构成的文件成为文本文件,其他都称为二进制文件。因此,信息就是bit加上下文。2.GCC将hello.c翻译成hello分为四个阶段完成,分别是预处理器+编译器+汇编器+链接器。它们构成了编译系统。预处理阶段读取头文件的内容并将它直接插入到程序文本中,编译阶段将文本文件翻译成汇编语言程序,汇编阶段汇编器将汇编程序转换成目标程序,链接阶段链接不同的目标文件.o从而得到可执行程序。它可以被加载到内存中,供系统执行。3.系统的硬件组成:总线:贯穿整个系统,携带信息在各个部件间传递,

2021-03-01 11:28:18 59

原创 读书笔记Effective C++06[个人向]

1.面向对象编程的世界总是以显式接口和运行期多态解决问题。在模板与泛型编程中,隐式接口和编译器多态成为了主流。2.当想在template中用到嵌套从属类型名称,必须在它前边放上个关键字typename(但是单个T使用的时候并不需要这个关键字)。因为T并不是嵌套的从属类型,除此之外,也不能在基类列表与列表初始化中出现typename。3.条款43.学习处理模板化基类中的名称。4.未完待续。...

2021-02-28 22:27:42 76

原创 读书笔记Effective C++05[个人向]

1.pubulic继承是一种套娃继承,但凡基类对象能出现的位置,派生类对象是可以替代这个位置的。2.如果继承了base类中的函数并且想要重载这个函数是,必须在派生类中使用using base:::func,(注意使用using的时候不要再函数后面加小括号)这样才不至于因为函数的重载而导致掩盖掉基类的同名函数。如果派生类以private方式继承基类,并且指向继承基类的多个重载函数之一时,此时using声明派不上用场,因为这样做会使得基类中的所有重载函数都在派生类中可见。此时派生类可以设计一个转交函数,并在

2021-02-28 21:36:34 64

原创 读书笔记Effective C++04[个人向]

1.尽可能延后变量定义式的出现时间,一旦出现变量的声明最好当场初始化(注意与赋值的区别),比如 string password("123456")。通过copy构造函数可以避免无意义的default构造行为。经常出现的一个情况是,变量如果需要在循环中使用,那么是应该定义在循环外然后每次复制,还是每次都在循环内部构造和析构呢?如果赋值的成本低于一组构造和析构,并且循环的次数很大时,在循环外定义大体上比较高效,否则应当使用在循环内定义。2.强制类型转换的新式方法,如static_cast<type&g

2021-02-27 10:01:42 68 1

原创 读书笔记Effective C++03[个人向]

1.为了让接口能被正确使用,a.使用函数顶替对象,通过函数来返回某些参数;b.使用新的class来封装用作参数的数据;c.限制类内可以做的事情,譬如使用const对数据进行限制。2.当设计一个新的class时,要考虑很多问题:怎样?创建和销毁=构造与析构、初始化|赋值|copying的实现、类内成员的合法值、是否需要继承、是否需要转换、public|private|protected的设置、是否需要泛型化编程等。3.当函数pass-by-value时,这个形参是由对象的copy构造函数产出,当函数完

2021-02-26 22:42:57 54

原创 读书笔记Effective C++02[个人向]

1.如果delete object的某个动作被省略过去,泄露的不仅是对象的那一块内存,还包括对象保存的任何资源。为了确保资源总会被释放,我们需要把资源放进对象,当控制流离开这个对象,其析构函数来自动释放那些资源。一种方式是auto_ptr(会使得被复制物指向null)。这种获得资源后立刻放进管理对象的观念被称为RAII:resource aquisition is initialization。更进一步,如果有多个指针指向同一个资源就应当使用引用计数型指针,即智慧指针。由于shared_ptr析构函数的删除

2021-02-24 17:45:47 62

原创 读书笔记Effective C++01[个人向]

1.explicit关键字:防止隐式类型转换。该关键字只对含有一个参数的构造函数有效,大于一个参数时,是不会产生隐式转换的。2.static关键字:向外界隐藏本文件中的函数或者变量、将局部变量保存在静态存储区保证局部变量的全局生存期、默认static变量的初始值为0、类内成员为static时实现同类对象间的数据共享。【注意】(a)类内static成员变量如果是const型的那么可以在头文件中声明并且定义(初始化)。否则,若类内成员变量是static但非const时,只能在头文件中声明,此时在头文件中

2021-02-22 21:00:40 70

原创 C++中for auto的用法

1.for(auto iter:vec)不改变迭代对象的值,for(auto &iter:vec)可以改变迭代对象的值。两者都可以获取到迭代容器中的值,但是使用auto iter时不会对容器对象造成改变,而使用auto &iter,对于iter的任何修改将直接修改容器内对应的值。2.简单的例子#include <iostream>#include <vector>void printVec(std::vector<int>&

2021-01-13 09:56:51 43524 4

原创 VS中程序运行时隐藏DOS黑框

1.项目右键->属性->配置属性->链接器->系统->子系统将原来的【控制台】改成【窗口】 :2.链接器->高级->入口点填入【mainCRTStartup】即可:

2021-01-12 15:53:34 4388 1

原创 C++对文件夹内容计数并输出特定格式文件的名称

借助io.h,支持通配符*,输出count为jpg的个数。#include<iostream>#include <io.h>int main(){ std::string folder = "/*自定义的文件夹位置*/\\images\\*"; std::string ext = ".jpg"; intptr_t handle = -1; _finddata_t fileinfo; std::string file = fol.

2021-01-11 21:27:42 153

原创 char**使用的一个范例

首先直接上代码:#include <iostream > using namespace std;int* getnums() { int* p = new int[8]; *p = 0; *(p + 1) = 1; *(p + 2) = 2; *(p + 3) = 3; return p;}void display(int** ptr) { std::cout <<"*ptr="<< *

2020-12-31 11:39:20 203

转载 数组的智能指针

数组的智能指针的限制:1,unique_ptr的数组智能指针,没有*和->操作,但支持下标操作[]2,shared_ptr的数组智能指针,有*和->操作,但不支持下标操作[],只能通过get()去访问数组的元素。3,shared_ptr的数组智能指针,必须要自定义deleter一些例子:错误示例:auto siftData = std::make_shared<SiftData[4]>();下文没能初始化改为:shared_ptr<SiftDat

2020-12-19 10:13:15 1879 1

原创 linux中升级cmake

一、卸载原有的cmakeapt-get autoremove cmake二、获取免编译版本的cmake文件wget https://cmake.org/files/v3.12/cmake-xxxxx-Linux-x86_64.tar.gz(注意免编译版本名称xxxxx),网址链接三、解压文件tar -xzvf cmake-xxxxx-Linux-x86_64.tar.gz四、有兴趣查看下目录结构tree -L 2 cmake-xxxxx-Linux-x86_64五、创建软链接

2020-10-25 16:40:50 1156

原创 SFMViewer配置

一、配置GLFWgit clone https://github.com/glfw/glfw.gitcd glfw cmake .sudo make installmake clean

2020-10-21 10:45:23 479

原创 cmake_GUI编译随笔

openCV_DIR是指自己新建的build目录,可以自行指定。

2020-10-13 16:08:55 206

转载 CMD_Here.reg

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here] @="在此处打开命令行" "Icon"="cmd.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here\command] @="\"C:\\Windows\\System32\\cmd.e

2020-09-24 15:41:57 76

翻译 Resource Acquisition Is Initialization

RAII,全称资源获取即初始化(英语:Resource Acquisition Is Initialization),它是在一些面向对象语言中的一种惯用法。RAII源于C++,在Java,C#,D,Ada,Vala和Rust中也有应用。1984-1989年期间,比雅尼·斯特劳斯特鲁普和安德鲁·柯尼希在设计C++异常时,为解决资源管理时的异常安全性而使用了该用法,后来比雅尼·斯特劳斯特鲁普将其称为RAII。RAII要求,资源的有效期与持有资源的对象的生命期严格绑定,即由对象的构造函数完成资源的分配(获

2020-08-25 21:38:36 563

原创 中值滤波

visible Image DenoiseThe denoise.m:clcclear;I=imread('img70.jpg');%I=rgb2gray(I);figure(1),imshow(I),title('源图像');%I1=imnoise(I,'salt & pepper',0.3); %添加椒盐脉冲噪声%figure(2),imshow(I1);title('加入强度为0.3的脉冲噪声');for counter=1:3 I1=I(:,:,count..

2020-08-14 09:37:20 490

原创 [笔记]三维重建坐标系

一、世界坐标系用来描述不同的相机之间的关系。二、相机坐标系用来以相机的视角描述世界坐标系内观察到的物体。三、图像坐标系图像坐标系用来描述外部三维景物透视投影到感光元件上时的物理尺寸坐标。四、像素坐标系描述成像后的图像在像素尺度上的位置。...

2020-07-21 10:11:40 614

原创 (jetson naon)Uabntu18 无法屏幕共享desktop sharing

按照以下步骤进行:一、安装工具$ sudo apt-get install vino dconf-editor& dconf write /org/gnome/desktop/remote-access/prompt-enabled false& dconf write /org/gnome/desktop/remote-access/require-encrypti...

2020-05-03 00:02:02 897

原创 Jetson nano Uabntu18系统设置中的desktop sharing无法打开问题

jetson nano系统设置中desktop sharing无法打开需要进行以下几步:$ sudo apt-get install vino dconf-editor$ dconf write /org/gnome/desktop/remote-access/prompt-enabled false$ dconf write /org/gnome/desktop/remote-acce...

2020-05-02 22:43:25 1688 1

原创 debian10.3在VMware中的安装

目录一、获取debian二、VMware配置三、Debian安装一、获取debian首先在debian中文官网下载适合自己电脑的ISO文件,由于本次安装的电脑是AMD64位架构,因此选择的是amd64..二、VMware配置(1)create a new VM(2)custom(advanced)(3)I will install the op...

2020-04-15 00:32:58 1286

原创 E: Unable to locate package XXX 的解决办法

1.首先尝试update命令sudo apt-get update2.如果不行则执行uogradesudo apt-get upgrade上述命令成功以后就能正常使用sudo apt-get install xxxxx3.最后上面两项都不行则尝试sudo apt-get install aptitude成功以后使用sudo aptitude install xx...

2020-04-11 20:33:22 69878 20

原创 ubantu+openMVG配置过程记录

一、安装新版cmake在后面时会用到cmake,到时候按照给的默认提示安装的话,会给你装一个低版本的cmake,然后这个版本的在这个项目中并不行,所以在开始安装openMVG时我先装好cmake。cmake的各个版本可以在这里查看:查看cmake版本,本文以写博客时的对cmake3.6.3进行安装:$ sudo apt-get install build-essential $ ...

2020-03-18 22:11:19 358 1

原创 杂乱笔记

1.不要返回局部对象的指针或引用,子函数一旦完成,它所占用的存储空间也会被释放掉,因此函数中止意味着局部变量的引用将不再指向有效的内存区域。2.函数重载与const形参:由于顶层const不影响传入函数的对象,因此注意有些包含const的重载是无效的;对于接受引用或者指针的函数而言,对象是常量还是非常量对应的形参不同。int func(int)int func(const int)...

2020-02-05 20:38:44 103

原创 指针形参与引用形参的区别

在主函数中定义一指针,并且将其作为函数的实参传递给子函数,并且在子函数中对指针的指向进行了重新赋值,那么当返回主函数时,在子函数中进行了操作会被“忘记”从而无效。若在子函数中使用的是某个变量的引用,那么在子函数中对该引用进行任何更改返回主函数后,其对应的原本的变量的值也会随之改变。int i=5;int *p1=&i;//使用指针int &p2=i;//使用引用究...

2020-01-29 23:06:05 1904

原创 阅读笔记——恰饭与热爱

"当孟子遇上理想主义者"孟子的学生彭更质问孟子,架着几十辆车,带着几百个弟子从一国吃到另一国,这样也未免太过分了吧,孟子说如果你没有真理,那么即便是一箪食都是不义的,但是如果有真理,那么舜都能接受尧禅让的天下;弟子接着说,你没有工作然后吃饭,这是不可以的‘;孟子说,大家的社会分工不同,所以守着精神家园也应该像木匠和工人一样有一碗饭吃,弟子愣了一会然后说,难道君子追求真理的目标就是为了吃饭吗?...

2020-01-28 23:52:01 209

原创 高效率的取幂运算

1.计算幂的常见算法是使用N-1次的乘法运算,使用一个for循环即可;//注意int数据类型的大小限制#include<iostream>using namespace std;int main(){ int X, N; cout << "input X and N:" << endl; cin >> X; cin>&g...

2020-01-27 21:01:29 411

原创 matlab使用fopen/fprintf/fclose将矩阵保存入txt中的按行存储与按列存储问题

对于matlab中一个矩阵:1、按列存储当使用如下代码:%运行环境matlab2018bfid=fopen("mytxt1.txt",'w');fprintf(fid,'%d\n',A); %使用\n进行换行或\t制表fclose(fid);打开'''mytxt.txt"之后可以看到存储的结果为:1 4 7 2 5 8...

2020-01-10 17:28:29 2654

原创 varargin/nargin

varargin的用法是存在于一个函数的括号里,也就是参数列表里,表示输入参数。它本身是一个向量,当函数进行声明时只有varargin这一个参数时,此时varargin按照顺序存储着每一个输入参数的内容;当函数进行声明时参数列表中有除了varargin之外的参数,那么在参数个数范围之外的实参全部由varargin进行保存。nargin的用法是记录它所在的函数的输入参数的个数。

2017-09-23 21:05:20 400

CMD_here.reg

右键CMD

2021-04-16

空空如也

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

TA关注的人

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