自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (3)
  • 收藏
  • 关注

原创 static的作用

1. 修饰局部变量:放在全局数据区的静态变量区,延长了局部变量的生命周期,直到程序运行结束以后才释放。2. 修饰全局变量:修饰的变量只可以在本文件中使用,不能在其他文件中访问,即使用extern也不可以。3. 修饰函数:此函数只能在本文件中使用,不能在其他文件中使用。...

2019-07-26 11:40:47 215

原创 malloc函数使用,与C++中new区别

函数声明(函数原型):void *malloc(int size);说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。需要包含头文件:#include <malloc.h>或#include<stdlib.h>示例:...

2019-07-25 16:22:48 372

转载 select函数

select()就是在进程或者线程执行到此函数时可以完成非阻塞,像Socket库中的connect、accept、recv/recvfrom等函数会发生阻塞(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回),使用select则可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时...

2019-07-23 10:49:09 679

原创 printf()修饰符

1.标志:可以使用0个或者多个标志,例如:“%-10d”printf()的标志 标志 意义 - 项目左对齐:即把项目打印在字段的左侧开始处“%-20s” + 有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号"%+6.2f" (空格) 有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。+标志会覆盖空格标志。"% 6...

2019-07-15 20:29:04 565

原创 atoi()函数:将字符串转换为整数(int)

int main(){ char a[] = "-100"; char b[] = "123"; int c, d, e; c = atoi(a) d = atoi(b); e = c + d; printf("c=%d\n", c); printf("d=%d\n", d); printf("e=%d\n", e);...

2019-07-12 17:06:58 537

转载 Makefile经典教程

makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefil...

2019-07-10 20:00:49 275

原创 bzero和memset函数

bzero函数函数原型:void bzero(void *s, int n);头文件:#include <string.h>功能:将字符串s的前n个字节置为0,一般来说n通常取sizeof(s),将整块空间清零。返回值:无返回值例子:将一个数组清零:char str[10];bzero( str, sizeof(str) );也可以将一个结构体清零:...

2019-07-10 14:40:34 558

转载 RTSP传输介绍

RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须...

2019-04-26 16:55:17 3572

原创 栈和队列,哈希

2019-03-28 21:10:38 470

转载 cJSON 使用详解

由于c语言中,没有直接的字典,字符串数组等数据结构,所以要借助结构体定义,处理json。如果有对应的数据结构就方便一些, 如python中用json.loads(json)就把json字符串转变为内建的数据结构处理起来比较方便。一个重要概念:在cjson中,json对象可以是json,可以是字符串,可以是数字。。。cjson数据结构定义:#d...

2019-03-07 14:48:02 61178 8

转载 C语言通过stock进行TCP通讯

TCP/IP协议:叫做传输控制/网际协议,又叫网络通信协议。实际上,它包含上百个功能的协议,如ICMP(互联网控制信息协议)、FTP(文件传输协议)、UDP(用户数据包协议)、ARP(地址解析协议)等。TCP负责发现传输的问题,一旦有问题就会发出重传信号,直到所有数据安全正确的传输到目的地套接字(socket): 在网络中用来描述计算机中不同程序与其他计算机程序的通信方式。soc...

2019-03-06 17:37:50 2186

原创 CMake 使用--CMakeLists.txt 的编写

 cmake_minimum_required (VERSION 2.8)    # CMake 最低版本号要求 project (Demo1)# 项目信息   参数值是 Demo1,该命令表示项目的名称是 Demo1 add_executable(Demo main.cpp MathFunctions.cc)# 指定生成目标 将名为 main.cpp和MathFunctio...

2019-01-06 16:36:05 497

原创 堆-----学习笔记

小堆的根节点一定是堆里最小的元素,大堆里的根节点一定是堆里最大的元素。 大堆:构造堆:堆A的最大非叶子节点索引 = (len(A)-1)/ 2       ...

2018-12-22 21:47:52 125

原创 二叉树相关术语

树的结点(node):包含一个数据元素及若干指向子树的分支;孩子结点(child node):结点的子树的根称为该结点的孩子;双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点;祖先结点: 从根到该结点的所经分支上的所有结点子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙结点层:根结点的层定义为1;根的孩...

2018-12-22 15:57:48 996

原创 二叉树 学习笔记

1.完全二叉树:  左子节点 索引 = 父节点索引 * 2 + 1,右子节点 索引 = 父节点索引 * 2 + 2,平衡二叉树:多应用在搜索的地方2.3. 常用算法(1)递归深度优先遍历:&lt;1&gt; 中序遍历  #后面的序号表示遍历的顺序&lt;2&gt; 前序遍历二叉树查找:。。。(2)队列广度优先遍历(分层遍历)...

2018-12-22 15:57:25 186

原创 C++ unordered_map 用法

c++使用unordered_map #include&lt;tr1/unordered_map&gt;//在unordered_map之前加上tr1库名, using namespace std::tr1;//与此同时需要加上命名空间1 2 3[查找元素是否存在]若有unordered_map &lt;int, int&gt; mp;查找x是否在map中 方法1...

2018-12-21 17:09:11 2562

转载 C++ STL 之 unordered_set 使用(包括unordersd_map)

unordered_set可以把它想象成一个集合,它提供了几个函数让我们可以增删查:unordered_set::insertunordered_set::findunordered_set::erase这个unorder暗示着,这两个头文件中类的底层实现----Hash。 也是因为如此,你才可以在声明这些unordered模版类的时候,传入一个自定义的哈希函数,准确的说是哈希函数子(h...

2018-12-21 12:29:49 117292 3

转载 C++ STL迭代器使用详解

写在前面,迭代器这种东西,就是为了使访问简单!!容器::iterator iter;for(iter= 容器.begin();iter!=容器.end();iter++){cout&lt;&lt;*iter或者是 iter-&gt;first等等之类的                                    //迭代器就是这么个套路} 然后就是set,set就...

2018-12-21 11:27:39 7277 1

原创 C++ std::pair的用法

1 pair的应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。2 make_pair函数...

2018-12-21 00:30:11 771

转载 C++ STL 之 unordered_set 介绍

简介          C++ 11中出现了两种新的关联容器:unordered_set和unordered_map,其内部实现与set和map大有不同,set和map内部实现是基于RB-Tree,而unordered_set和unordered_map内部实现是基于哈希表(hashtable),由于unordered_set和unordered_map内部实现的公共接口大致相同,所以本文以u...

2018-12-21 00:21:40 1665

转载 C++ Vector 使用说明

一、向量的介绍    向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。        在使用它时, 需要包含头文件 vector, #include&lt;vector&gt;...

2018-12-20 16:53:09 89706 5

转载 python re库(正则表达式)入门

正则表达式(英文名称:regular expression,regex,RE)是用来简洁表达一组字符串特征的表达式。最主要应用在字符串匹配中。\d 数字:[0-9]\D 非数字: [^0-9]\s 空白字符:[ \t\n\x0B\f\r]\S 非空白字符:[^\s]\w 单词字符:[a-zA-Z_0-9]\W 非单词字符:[^\w]匹配IP地址的正则表达式: 1...

2018-12-20 14:55:46 392

原创 python中 with-as 语句用法

With语句是什么?有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。如果不用with语句,代码如下:file = open("/tmp/foo.txt")data = file.read()file.close()这里有两个问...

2018-12-19 23:55:18 1636

原创 sklearn库——SVM

svm.SVC(C,keneral)C: float参数 默认值为1.0错误项的惩罚系数。C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确率越高,但是泛化能力降低,也就是对测试数据的分类准确率降低。相反,减小C的话,容许训练样本中有一些误分类错误样本,泛化能力强。对于训练样本带有噪声的情况,一般采用后者,把训练样本集中错误分类的样本作为噪声。kernel: str参数 默认为‘...

2018-12-18 22:00:47 1628

原创 C++ 队列(queue)简介

C++队列queue模板类的定义在&lt;queue&gt;头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的。C++队列queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back()返回最后一个元素empty()如果队列空则返回真front()返回第一个元素po...

2018-12-18 21:58:25 12892

原创 C++ 栈(stack)简介

栈中的元素遵守“先进后出”的原则(LIFO,Last In First Out),只能在栈顶进行插入和删除操作 类型名称:stack&lt;T&gt;或是stack&lt;T,Underlying_Container&gt; 表明是由T类型的元素构成的栈。头文件:&lt;stack&gt;已定义类型:value_type、size_type无迭代器成员函数: • s.si...

2018-12-18 21:56:39 500

原创 机器学习笔记(九)-吴恩达视频课程(支持向量机SVM应用)

求解参数值时用现成的软件库来做,没必要自己写比如liblinear, libsvm

2018-12-17 14:47:15 437

原创 机器学习笔记(八)-吴恩达视频课程(支持向量机SVM)

1.支持向量机的优化目标以下是新建的 SVM 的图像,左边为y=1时,右边为y=0时然后进行转换2.SVM 被看做大边界分类器(大间距)的情况在y=1时,  &gt;= 1   代价函数为0在y=0时,  &lt;=-1   代价函数为0注意不是与0作比较来判定,这样就有了安全间距 可以看到图中黑色,粉色,绿色三个边界,黑色边界是最稳健的边界,它和样...

2018-12-16 22:49:42 895

转载 机器学习与统计建模 —— 归一化和标准化

归一化(Min-Max Normalization)特点1、对不同特征维度进行伸缩变换 2、改变原始数据的分布。使各个特征维度对目标函数的影响权重是一致的(即使得那些扁平分布的数据伸缩变换成类圆形) 3、对目标函数的影响体现在数值上 4、把有量纲表达式变为无量纲表达式 。好处1、提高迭代求解的收敛速度 2、提高迭代求解的精度缺点1、最大值与最小值非常容易受异常点影响 2、...

2018-12-15 16:07:07 300

原创 算法初步介绍

1.常用算法穷举(万能算法):n个数排列、八皇后问题分而治之(减而治之):二分查找——减而治之归并排序——分而治之贪心:动态规划:2.复杂度时空复杂度:复杂度:优化算法复杂度:从最里层开始,逐层往外...

2018-12-14 20:29:07 248

原创 机器学习笔记(七)-吴恩达视频课程(应用机器学习建议)

改进算法的常用方法:1.尝试减少特征的数量 2.尝试获得更多的特征 3.尝试增加多项式特征 4.尝试减少正则化程度

2018-12-14 19:16:08 116

原创 机器学习笔记(六)-吴恩达视频课程(神经网络学习 二)

1.代价函数   神经网络层数L,表示L层(最后一层)神经元个数,表示每层的输出神经元数  二类分类:=1 输出层有一个神经元,输出的y是一个实数 y = 0 or 1 表示类别  多类别分类:一共有K类,则=K,输出层有K个神经元, (K&gt;=3)输出是一个K维向量代价函数:每一行特征都会给出K个预测,可以利用循环对每一行特征都预测K个不同的结果,然后在利用循环在...

2018-12-02 18:20:46 274

原创 机器学习笔记(五)吴恩达课程视频(神经网络学习 一)

模型表示神经网络中,参数又可被称为权重(weight)。神经网络是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量输入层(第一层)、输出层(最后一层)、隐藏层(中间层)。每一层都增加一个偏差单元(bias unit):每一个

2018-11-28 23:57:17 399

原创 scipy库 笔记

1.   fmin(func, x0, args=(), xtol=0.0001, ftol=0.0001, maxiter=None, maxfun=None, full_output=0, disp=1, retall=0, callback=None, initial_simplex=None)参数说明:func : (可调用 func(x,*args) )           ...

2018-11-24 20:57:04 844

原创 numpy库常用函数笔记

1.  矩阵和各种乘法问题np.mat(a)  将a矩阵化 (或者np.matrix(a))np.multiply()   数组/矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致 np.dot() 对于秩为1的数组,执行对应位置相乘,然后再相加;对于秩不为1的二维数组,执行矩阵乘法运算;           对于矩阵则直接进行矩阵乘积星号(*)乘法运算  对数组执行对应位置相乘...

2018-11-23 21:27:11 181

原创 matplotlib库 常用函数笔记

fig, ax = plt.subplots(figsize=(6,5))  #建立一个fig对象,建立一个axis对象  (也可以fig=plt.figure()ax=fig.add_subplot(111)来创建  只不过比较复杂 )matplotlib.pyplot.subplots(nrows=1, ncols=1,sharex=False, sharey=False,...

2018-11-23 21:25:57 710

原创 pandas常用函数笔记

筛选元素,判断是否存在等:df.isin([ ])  判断df中是否有括号中的元素 DataFrame([data, index, columns, dtype, copy]) 构造数据框data[data.isin[ ]]  可以将符合isin()的元素提取出来构造成一个新的dataDataFrame( ) 创建一个datafram对象eg: df.insert('列...

2018-11-23 21:23:07 384

原创 机器学习笔记(四)吴恩达课程视频(正则化)

正则化1.过拟合回归问题:第一个为欠拟合,第三个为过拟合,中间效果最合适。分类问题:同上也存在欠拟合、过拟合问题解决办法:&lt;1&gt; 丢弃一些不能帮助我们正确预测的特征:可以是手工选择保留那些特征,也可以使用一些模型选择的算法来帮忙(如PCA)&lt;2&gt;正则化:保留所有特征,但是减小参数的大小(magnitude)2.代价函数使系数比较大的项...

2018-11-23 11:29:43 175

原创 机器学习笔记(三)吴恩达课程视频(Logistic回归)

Logistic回归(逻辑回归)一个分类算法,输出值永远在0~1之间这是一个分类算法,虽然名字中有“回归”二字,但是它是分类算法,适用于标签y取值离散的情况。logistic function 与sigmoid function 表达的意思一样1.假设陈述x代表特征向量,g代表逻辑函数(logistic function),是一个常用的逻辑函数为s形函数(sigmoid f...

2018-11-22 18:09:34 352

原创 机器学习笔记(二)吴恩达课程视频

 多元变量线性回归1.多维特征:  2.多元梯度下降:代价函数:(目标与单变量一致,要找出使代价函数最小的一系列参数)梯度下降算法:梯度下降算法——特征缩放:除了固定以外,的值都要变成[-1,1]范围左右之间的取值,不仅仅是[-1,1],可以在该范围内波动,但是不要幅度太大。(平均值指的是训练集中不同组别的同一特征值的平均值)梯度下降算法...

2018-11-16 12:29:34 170

绝对超值,基于STM32的ICM20948以及MPU9250开发代码

官方驱动库,移植完的完整代码(驱动、DMP都有)

2022-05-31

车牌识别完整版 基于OPENCV3 完全实现车牌的字符提取 分割 识别 准确率高达95%

作者历经小半年的调试 才把程序调试好 完全可以实现车牌的字符识别,分割,提取,采用了SVM分类器和ANN神经网络,若下载后实现不了相应的功能,可以找作者把积分退还给大家

2018-05-26

基于OPENCV3

以opencv3 可以完成车牌的提取 分割 识别 (识别部分不太完善)采用了svm分类器 ann机器学习等赶集高级算法,识别率高达90%以上

2018-05-14

空空如也

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

TA关注的人

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