自定义博客皮肤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)
  • 资源 (3)
  • 收藏
  • 关注

原创 特征点检测之Harris角点检测

2020-04-04 13:38:54 253

原创 matlab中图和队列

今天很不开心,因为用matlab实现之前自己c++中实现的一部分代码,需要用到几种数据结构,比如图,队列,一时间不知如何下手,几番来回思考,完美的解决了这个问题1.关于图图是一种表示节点之间拓扑关系的数据结构,常用的表示方法有邻接矩阵和邻接表,邻接矩阵是空间换时间的做法,鉴于计算机内存的飞速发展,以及我也比较懒,所以就直接在matlab中声明一个graph = zeros(totalNu...

2020-03-04 23:02:48 2952 3

原创 Opencv在vs下的配置问题

1. 必须将opencv中bin目录加到环境变量中,单在vs环境中添加附加依赖库没得用。2. 另外,vs启动时自动加载环境变量路径,所以如果修改了环境变量,请重启vs...

2019-03-01 14:50:49 236 6

原创 矩形最大嵌套

#include "stdio.h"#include "string.h" #define maxn 100 //矩形类class Rectangle{public: Rectangle():length(0),width(0){} Rectangle(int l,int w) { length = l>w?l:w; width = l>w?w:l; ...

2018-10-22 20:04:50 224

原创 使用深度学习的三维点云分类的介绍

https://www.cnblogs.com/li-yao7758258/p/8182846.html

2018-09-20 10:24:01 1285

原创 makefile学习

Make与configure关系:编译链接 

2018-09-05 17:33:46 153

原创 Linux下找不到动态库解决,添加rpath

添加rpath路径$$ORIGIN,然后把so和可执行文件放一个目录关于rpath

2018-09-05 17:19:44 2917

原创 13.C++11中智能指针shared_ptr,unique_ptr,weak_ptr注意点

1、shared_ptrshared_ptr是一个引用计数智能指针,用于共享对象的所有权。可以从一个裸指针、另一个shared_ptr、一个unique_ptr、或者一个weak_ptr构造。析构函数被调用时引用计数减1;当引用计数减为0时,调用删除器删除对象;默认operator delete。构造函数的第二个参数接受一个删除器,这样就可以定制自己的资源分配回收器了。不要为了...

2018-08-28 09:37:06 539

原创 12.右值引用及搬移语义(move)

详解https://www.cnblogs.com/5iedu/p/7698710.htmlC++中,所谓右值有两个含义:1.临时对象就是右值2.右值不可以放在operator=(等号操作符)左边如下中,a+b会生成临时对象,c1+c2也会生成临时对象,故其皆为右值,虽然下面的string和complex中临时对象放左边可以编译通过,但这是一种例外,一般不要这样写。    ...

2018-08-26 20:55:39 200

原创 11.lambda

    C++11中引入了lambda,lambda指的是定义一个内联(inline)函数,并且这个内联函数可以被用作一个参数或局部变量,这类似于函数对象(function object),由于lambda是一种内联的,因此效率上比函数对象高一些。    以下lambda用法:“{}”中为函数体的实现,“()”中放的是函数参数,“[]”中放的是非静态的外部变量,也就是说在lambda函数体内可以用...

2018-07-08 15:19:07 232

原创 10. decltype关键字

    decltype关键字可以让编译器找到一个表达式的类型。C++11以前无法通过对象来获得type,必须确实知道对象的类型才可以,以下为使用例子:    decltype主要有以下3种应用场景:1.声明返回类型这里是采用auto和->decltype指定了add函数返回类型的方式,即声明了add函数的返回类型2.应用于元编程(metaprogramming,就是在模板中的运用和操作)3...

2018-07-08 11:31:31 2012

原创 1.多项式乘法实现

对于稀疏多项式,采用数组存储效率低下,因此考虑采用链表结构,节点包括系数,指数,next指针三个域。多项式的运算中,主要要考虑的是同类项合并的问题,这实际是一个数组元素去重的问题(合并幂相同的节点),因此可以采用先排序(快排平均O(Nlog(N))),后遍历(O(N))的方式完成。总时间O(nlog(n))。#include <stdio.h>#include <stdlib....

2018-06-14 17:32:37 4430

原创 9.type alias,noexcept,overide,final

type alias 类似于typedef,如图中三种形式分别为函数指针、类型的别名(typedef)、模板别名(alias template)在函数后面加noexcept关键字表明该函数不抛出异常,并且能在括号中加入条件,如下面第二个例子表示,swap不抛出异常的条件是当x.swap(y)不抛出异常。碰到移动构造和析构函数时须使用noexcept,对于STL中,尤其是使用vector时,因为ve...

2018-06-06 15:05:42 224

原创 8.Alias Template(模板别名)

  下图中通过使用using Vec = std::vector<T,MyAlloc<T>>进行模板别名的定义,从而可以直接使用Vec<int> coll来代替上一句话,这种方法类似于C++中的typedef,但这种C++11的新机制不仅仅是为了通过设置模板别名来少写几个字,且其也无法通过typedef或#define代替,如图中下方所示。为了实现下图中红框中的...

2018-06-06 13:10:04 2152 3

原创 1.STL基础体系结构

    STL分为容器、分配器、算法、迭代器、适配器、仿函数六大组件。    容器用来放数据,是各种数据结构的封装,它让我们不再需要进行内存分配操作,该操作将由分配器取代之。    算法是专门对容器操作的一组模板函数,它独立出来,通过模板变成一堆全局的通用操作。按照面向对象思想,应当将数据以及对应的一组操作统统封装入这个容器类中,这样每个容器就有自己独有的操作,但STL在这里采用了泛型编程的思想,...

2018-05-30 14:50:14 259

原创 7.=default ,=delete

  C++中如果不专门定义,编译器会为每一个类定义三种成员函数,默认的构造函数,默认的拷贝构造函数,默认的赋值构造函数(重载=),侯捷老师称它们为big-three,C++11中增加了移动构造函数和移动赋值构造函数(下图中带Zoo&&的),因此增加两个,变成big-five(其实还有析构函数,编译器也会默认给定一个)。如下图中Empty类,这些默认的函数主要让编译器放置幕后的代码,...

2018-05-30 11:11:52 745

原创 6.range-based for statement(for循环的新用法)

    C++11中定义了一种for循环用法,可用于容器的遍历,如下图。    对于一个容器,我们这样写(decl : coll),coll为一个容器,编译器就会把容器中的每个元素依次放入到decl这个变量中,从而完成遍历,且配合auto关键字可自动参数类型推导,很是方便。    但这里关键要注意值和引用含义的区别,当下面elem为值含义时,每次执行都要进行一次赋值的操作,即把vec的一个元素赋值...

2018-05-29 22:41:53 798 1

原创 5.explicit关键字

    首先,explicit表示显示的、明确的意思,与隐式的意思相反,在C++11之前,存在如下图左的隐式转换,Complex的构造函数带两个参数,但一个已经带了初值,且此处无explicit关键字,因此它实际上就是一个non-explicit, one argument constructor(无exp关键字,仅需一个实参的构造函数),此时在执行如下的c1+5时,首先调用+的操作符重载函数,然...

2018-05-29 21:32:54 207

原创 4.Uniform Initialization(一致性初始化),Initializer list(初始化列表)

一致性初始化,顾名思义,说明旧版的C++初始化不一致,新版本则一致。确实,老版C++的初始化可能发生在小括号、大括号或是赋值符号上。因此,C++11引入了一致性初始化,全部都用大括号完成初始化,如图中黄色部分。黄色部分,在变量后面直接用大括号完成初始化。使用大括号实现一致性初始化牵扯出了一个新的概念,即Initializer lists,使用大括号的内容即为一个Initializer lists包...

2018-05-28 21:18:50 1676

原创 3.模板表达式的空格、空指针、自动推到的auto类型

1.模板表达式的空格老版C++在模板表达式中要加一个空格,新版的已去除。2.空指针类型使用nullptr而非0或NULL来声明一个指向空的指针,避免和int类型冲突发生错误。即它是一种指针类型,而非整数,避免编译器混淆。3.auto变量类型推导auto关键字使编译器根据表达式返回值自动推导类型,但是不要一直用,如图,一般只在类型名太长或太复杂的时候使用,毕竟作为程序员要时时刻刻知道每一个变量的类型...

2018-05-28 17:19:30 270

原创 2.Variadic Templates(数量不定的模板参数)

先看代码:void print(){}template <typename T,typename... Types> //...出现在这表示模板参数包void print(const T& firstArg, const Types&... args)    //...函数参数类型包{ cout << firstArg << e...

2018-05-28 16:34:19 1428

原创 1.演进、环境与资源

C++11为2011年提出,业内也称为C++2.0。其新特性包括语言和标准库两个层面。C++标准库的header files不带(.h),例如#include <vector>新式C header files 不带(.h),例如#include <cstdio>旧式C header files(带.h),例如#include <stdio.h>以上新的库都在st...

2018-05-28 13:59:50 215 1

原创 算法学习——Fibonacci

下面对现代码: #include <iostream>#include <utility>std::pair<uint64_t,uint64_t> Fib(size_t n){ if(n>0) { auto PF = Fib(n / 2); //C++11新特性,auto返回值由编译器根据初值确定 auto t0 = PF.first;...

2018-05-27 14:33:28 144

原创 Linux升级gcc到4.8.2(包含c++11)

1.获取安装包,解压安装wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2tar -xf gcc-4.8.2.tar.bz22.运行自带脚本,完成下载、配置、安装依赖库,可以节约我们大量的时间和精力cd gcc-4.8.2 ./contrib/download_prerequisites 3.建立一个目录供编译出的文件存放mk...

2018-05-26 21:33:06 1553

原创 内核编程与应用程序开发的主要区别

内核编程既不能访问C库也不能访问标准的C头文件。内核编程时必须使用GNU C。内核编程缺乏像用户空间那样的内存保护机制。内核编程时难以执行浮点数运算。内核给每个进程只有一个很小的定长堆栈。由于内核支持异步中断、抢占和SMR,因此必须时刻注意同步和并发。要考虑可移植性的重要性。...

2018-05-25 10:54:55 3574

原创 CentOS7下安装与打开telnet服务

CentOS7不默认安装xinetd以及telnet服务,因此需要首先安装这两项。1.安装之前首先查找telnet的安装包yum list | grep telnet-serveryum list | grep xinetd2.用yum执行安装yum -y install telnet-server.x86_64 //telnet服务器yum -y install telnet.x86_64 ...

2018-05-23 11:54:24 9769

原创 VirtualBox中网络配置——两台虚拟机互访且能够连外网

选用NAT模式

2018-05-21 18:29:49 4650

原创 TCP协议详解(三):TCP状态转移

状态转移过程        TCP连接的任意一端在任一时刻都处于某种状态,当前状态可以通过netstat命令查看。下图为完整的TCP状态转移图,它描绘了所有的TCP状态以及可能的状态转换。                图中的粗虚线表示典型的服务器端连接的状态转移;粗实线表示典型的客户端连接的状态转移。CLOSED是一个假想的起始点,并不是一个实际状态。        这里首先讨论服务器的典型状态...

2018-05-03 15:51:35 461

原创 TCP协议详解(二):TCP连接的建立和关闭(三次握手,四次挥手)

2018-05-03 14:29:37 362

原创 TCP协议详解(一):TCP头部结构

  TCP字节流服务    网络传输层中,TCP是面向连接、可靠的、字节流传输。    TCP协议通信双方必须先建立连接,通信双方必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。TCP是全双工的,即双方的数据读写可通过一个连接进行。完成数据交换之后,通信双方都必须断开连接以释放系统资源。    TCP协议的这种连接是一对一的,所以基于广播和多播(目标是多个主机地址)的应用程序不...

2018-05-02 20:13:46 91259 12

原创 异常检测-支持向量域描述算法及代码实现(Support Vector Domain Description)

以下是代码部分:clc;clear all;close all;%% 训练样本% load('Iris.mat'); % Iris数据集每个数据由4维组成,一共3类,1:50,51:100,101:150,一行一个样本% data = Iris(1:100,1:2); % 本次只取前2维的数据,以及2类进行分析load('fn.mat');% TrainX=PIread...

2018-04-22 20:53:31 2388 4

原创 ARP协议原理

2018-04-20 10:59:38 235

原创 CPU工作原理

CPU组成:控制单元、运算单元、存储单元控制单元:由指令寄存器IR、指令译码器ID、操作控制器OC组成。存储单元:由L1、L2缓存(SRAM)以及寄存器(可见和非可见,如通用寄存器和段寄存器为可见,程序可访问,数据暂存寄存器不可访问)。CPU工作原理:控制单元要取下一条待运行指令,该指令的地址在程序计数器PC中,在x86CPU上,程序计数器就是cs:ip(段基址+偏移地址)。读取ip寄存器后,将此...

2018-04-15 15:30:22 434

原创 内存分段

CPU采用“段基质+段内偏移地址”的形式访问内存,就需要专门提供段基址寄存器,如cs、ds、es等。程序中需要用到哪块内存,只要先加载合适的段到段基址寄存器中,再给出相对于该段基址的偏移地址便可,CPU中的地质单元会将这两个地址相加后的结果用于内存访问,送上地址总线。程序中用的是段内偏移地址,一个段最多可以访问64KB。CPU的设计者在地址处理单元中动了手脚,该地址部件接到“段基质+段内偏

2018-04-03 21:52:21 282

转载 Harris角点检测算法原理

原文转载http://wenku.baidu.com/link?url=K5HUJ1uKPYGmTeWDZBzo6OGpsbw8T6z7IPh6ZRXvcnmLUhqHRtynAlIQMRmnU8q8QV4oXxgcIs58y4f5NOJtkVrFXurPUPFzAaovZA9YmCW这里出现的自相关函数是用方差来表示的,表示了某像素点和其邻域像素点灰度值的差别

2016-08-07 11:21:20 399

轨道磨耗检测上位机代码

本资源是一个磨耗检测的上位机程序软件,可以实现相关的功能

2019-04-16

算法导论第三版(目录完整无缺失扫描清晰)

算法导论第三版(目录完整无缺失扫描清晰),很多下载文档都是不全的,本人亲自补全了

2018-05-25

上位机程序

上位机程序,基于51单片机的一个程序,主要用于检测单片机控制的流量检测器,

2014-07-14

空空如也

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

TA关注的人

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