自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (13)
  • 收藏
  • 关注

原创 FasterRCNN学习备注

本篇文章是对FasterRCNN学习过程的一个备注,只是说明自己的一些理解,对于之前不清楚的地方进行备注说明。也有学习过其他的文章,有的写的也是很好的https://www.cnblogs.com/guoyaohua/p/9488119.html?utm_source=debugrun&utm_medium=referral还有一篇英文的,这个说的很明白了。也可以详细看一下:h...

2020-04-24 17:49:33 452

翻译 小波变换详解

小波变换详解1,简介We can use the Fourier Transform to transform a signal from its time-domain to its frequency domain. The peaks in the frequency spectrum indicate the most occurring frequencies in the s...

2019-07-15 11:49:47 39909 10

原创 机器学习之支持向量机

机器学习中另一种重要的算法是支持向量机,简称SVM。下面我们就这个算法进行介绍。首先支持向量机的整体思路是: 简单情况,线性可分,把问题转化为一个凸优化问题,可以用拉格朗日乘子法简化,然后用既有的算法解决 复杂情况,线性不可分,用映射函数将样本投射到高维空间,使其变成线性可分的情形。利用核函数来减少高维度计算量这个思路的具体实现是什么呢,首先考虑样本集线性可分情况简单情况...

2018-07-27 14:41:30 732

原创 机器学习之贝叶斯算法

首先,贝叶斯公式                          这个公式是由联合概率公式推导出来的:P(A,B)=P(A|B)P(B)=P(B|A)P(A)P(A)叫做先验概率,P(A|B)叫做后验概率,P(A,B)叫做联合概率如果在机器学的视角下,我们把A理解成“类别标签”,把B理解成“具有某种特征”。这样贝叶斯公司可以理解为而应用这个算法最常见的场景就是针对垃圾...

2018-07-24 14:41:35 26174 3

原创 机器学习之集成算法

机器学习的集成算法是指的多个单一算法集成在一起,使得机器学习的效果更好。集成算法包含Bagging-----bootstrap aggregation                   ①从样本集中重采样(有重复的)选出n个样本                   ②在所有属性上,对这n个样本建立分类器(ID3、 C4.5、 CART、 SVM、 Logistic回归等)     ...

2018-07-19 09:38:09 1261

原创 机器学习之决策树

 决策树概述所谓的决策树就是从跟节点开始一步步走到叶子节点,所有的数据最终都会落到叶子节点上。决策树既可以做分类也可以做回归。决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。如何切分特征(选择节点)我们的目标应该是根节点就像一个老大似的能更好的切分数据(分类的效果更好),...

2018-07-17 16:33:23 600 1

原创 机器学习之回归算法

回归算法是机器学习中最常见也是使用最广的一个算法,回归算法主要有线性回归和逻辑回归2种。下面我将分别介绍线性回归和逻辑回归。1线性回归    线性回归是有监督学习的一种算法,科学的介绍这里就不做说明了。通俗的说,就是根据数据集中的特征(X),找到一个合适的线或是面。。来拟合我们的数据集标签(Y)。    假设我们有一个简单的数据集,里面每个样本都有2个特征,我们根据线性回归算法,找到一个平面来拟合...

2018-06-29 16:52:16 25788 11

原创 机器学习之数据与特征工程

    学习过程中梳理一些知识点,在机器学习中,对原始数据的处理和特征提取,是最为重要的,处理好原始数据,哪怕后面使用简单的算法都可以得到比较好的准确率。    这是大神们的理解        说白了,所谓的特征工程,听起来很高大上,其实就是从数据中抽取出来的对预测结构有用的信息,使得其能在机器学习算法上发挥更好的作用。    大部分算法精进和数据分析所做的工作都是:    a)跑数据,    各...

2018-06-22 14:23:40 1515

转载 AVL树实现

概要本章介绍AVL树。和前面介绍"二叉查找树"的流程一样,本章先对AVL树的理论知识进行简单介绍,然后给出C语言的实现。本篇实现的二叉查找树是C语言版的,后面章节再分别给出C++和Java版本的实现。建议:若您对"二叉查找树"不熟悉,建议先学完"二叉查找树"再来学习AVL树。目录1. AVL树的介绍2. AVL树的C实现3. AVL树的C实现(完整源码)4.

2017-02-03 10:43:49 550

转载 利用sprintf和sscanf实现十六进制和十进制之间的相互转换

#include     int main()  {      char s[100] = {0};      sprintf(s, "%x", 15);      printf("%s\n", s); // f        char str[100] = "f";      int i = 0;      sscanf(str, "%x", &i);  

2016-12-28 09:47:41 1989

转载 傅立叶变换c语言实现

傅立叶变换的重要性不用我说,想必大家也很清楚,有了傅立叶变换,我们就可以从信号的频域特征去分析信号。尤其在无线通信系统中,傅里叶变换的重要性就更加明显了,无论是设计者还是测试工程师,在工作中都会和傅立叶变换打交道。在以下的文章中,我给出一种傅里叶变换的C语言实现方法(参考了C常用算法集),可以用于在嵌入式系统中实现傅立叶变换。常规的傅立叶变换算法并不适用于嵌入式控制系统,原因是运算

2016-11-30 15:29:10 10646

转载 C语言中的指针和内存泄露

引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,它们就是您在 C 语言中拥有的最强大工具。本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密。本文内容包括:导致内存破坏的指针操作

2016-07-27 17:47:17 331

转载 关于标准c中的strtok和linux库里面的strsep

strsep函数原型:     Char * strsep(char **s1, const char *delimt); 需要注意:1、         被分割字串要被改变,所以不能操作存放在静态存储区的字串常量。2、        分割符要被替换成’\0’。3、        需要传二级指针,因为s1是指向分割字串,第一次指向源字串,调用后指向分割后的下一个toke

2016-06-28 18:32:49 513

转载 wifidog添加URL白名单[放行微信]

通读wifidog的源码可以发现wifidog的各种策略都是通过iptables实现的而wifidog本身并没有实现URL白名单,通过修改代码实现也可以,通过外在的iptables命令实现也可以iptables实现的原理是把白名单URL当成认证服务器一样的来处理,策略中如何处理认证服务器,就如何处理白名单!下面是实现放行微信的命令iptables -I WiFiDo

2016-06-27 18:06:09 5766

转载 C语言数组实现冒泡排序和选择排序程序

冒泡排序:冒泡排序的的优点是好理解,稳定,再就是空间复杂度低,不需要额外开辟数组元素的临时保存控件,当然了,编写起来也容易。其算法很简单,就是比较数组相邻的两个值,把大的像泡泡一样“冒”到数组后面去,一共要执行N的平方除以2这么多次的比较和交换的操作(N为数组元素),其复杂度为Ο(n²),如图:[cpp] view plain copy

2016-06-17 10:32:22 1853

转载 linux select函数详解

在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核:      •我们所关心的文件描述符      •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常)      •我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待)  

2016-04-21 10:37:24 298

转载 WifiDog实际应用注意的问题

解决WiFiDog在高版本内核下不能使用问题修改wifidog中的utl.c文件, 修改get_iface_ip 函数if ((sockd = socket (AF_INET, SOCK_PACKET, htons(0x8086))) 这句建议修改为 sockfd = socket(AF_INET,SOCK_DGRAM,0);原因: 新kernel对于原模式过时

2016-04-20 13:31:39 1531

转载 wifidog 源码初分析(4)

在上一篇《wifidog 源码处分析(3)》的流程结束后,接入设备的浏览器重定向至 路由器 上 wifidog 的 http 服务(端口 2060) /wifidog/auth 上(且携带了 认证服务器 为此接入设备分配的 token),本篇就是从 wifidog 接收到 /wifidog/auth 的访问后的 校验流程。-根据《wifidog 源码初分析(2)》中描述的,在 wifido

2016-04-11 11:29:30 868

转载 wifidog 源码初分析(3)

上一篇分析了 接入设备 在接入路由器,并发起首次 HTTP/80 请求到路由器上时,wifidog 是如何将此 HTTP 请求重定向至 auth-server 的流程。之后 接入设备 的浏览器接收到 wifidog 返回的 302 重定向请求后,会将页面重定向至 auth-server 的 /login 页面,并且在此 URL 中会携带一些 路由器/网关 参数,以及 接入设备的 M

2016-04-11 11:28:17 381

转载 wifidog 源码初分析(2)

上一篇分析了接入设备的首次浏览器访问请求如何通过 防火墙过滤规则 重定向到 wifidog 的 HTTP 服务中,本篇主要分析了 wifidog 在接收到 接入设备的 HTTP 访问请求后,如何将此 HTTP 请求重定向到 认证服务器(auth-server) 上。通过上面的防火墙规则,会将通过上面的防火墙规则,会将HTTP请求的外部IP地址和端口通过NAT方式重定向至本地

2016-04-11 11:27:27 958

转载 wifidog 源码初分析(1)

wifidog 的核心还是依赖于 iptables 防火墙过滤规则来实现的,所以建议对 iptables 有了了解后再去阅读 wifidog 的源码。在路由器上启动 wifidog 之后,wifidog 在启动时会初始化一堆的防火墙规则,如下:[cpp] view plain copy /** Initialize

2016-04-11 11:26:39 503

转载 wifidog接口文档

wifidog是搭建无线热点认证系统的解决方案之一,他比nocat更适合互联网营销思路。目前支持openwrt系统,他实现了路由器和认证服务器的数据交互,在路由器方是用C语言代码,通过wifidog程序和linux iptables防火墙实现接入用户的认证跳转和控制,在认证服务器方是通过php实现用户的认证流程和管理。优点:有开源代码,可以很方便的搭建认证系统。缺点:通过iptables方

2016-04-11 11:24:43 444

转载 linux awk命令详解

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr

2016-03-30 16:02:46 228

转载 linux 下硬链接和软连接

硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用软连接:也称符号连接,新建的文件以“路径”的形式来表示另一个文件,和windows的快捷方式类似,新建的软连接可以之间不存在的文件n 这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这 个命令最常用的参数是-s,具体用法是:ln

2016-03-28 10:34:53 249

转载 Linux Shell编程基础

linux系统下给命令指定别名alias命令用法: 在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题。只要举一些例子就可以了: alias l='ls -l' ;用 l 代替 ls -l 命令(Xenix 下就有类似的 l 命令)

2016-03-23 11:19:07 210

转载 Segmentation fault (core dumped)

有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,而是没有任何信息。一种办法是用gdb的step, 一步一步寻找。但要step一个上万行的代码让人难以想象。 我们还有更好的办法,这就是core file。如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置:#设置co

2016-03-17 16:11:25 346

转载 XCL-Charts图表简单教程

所支持的图表类型:   基类                            图表名称   BarChart                横/竖向柱形图及背向式柱形图   BarChart3D           横/竖向3D柱形图   StackBarChart      横/竖向堆叠式柱形图   RangeBarChart    范围柱形

2016-03-17 11:55:41 2258

原创 Linux串口编程之接收

#include #include #include #include #include #include #include #include int set_opt(int,int,int,char,int);void main(){ int fd,nByte; char *uart3 = "/dev/ttySAC3"; char buffer[512]; cha

2016-03-17 11:27:15 417

原创 Linux串口编程之发送

#include #include #include #include #include #include #include #include int set_opt(int,int,int,char,int);void main(){ int fd,wr_static,i=10; char *uart3 = "/dev/ttySAC3"; char *buffer =

2016-03-17 11:23:19 566

转载 Linux的Signal及Singal处理(SIGQUIT SIGKILL SIGBUS等)

Linux的Signal及Singal处理(SIGQUIT SIGKILL SIGBUS等)关于在Linux应用程序调试中,应用程序异常退出,或收到若干信号后程序退出,该如何排错呢?本文尝试提供一点思路.【Linux应用程序调试系列说明】,专注于Linux应用程序的如何调试及部分调试技巧。为写商业应用程序时出现调试问题,提供一点思路。工具箱1 kill命令k

2016-03-17 11:15:38 3866

转载 Linux中select函数学习及实例笔记

Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:(1)阻塞I/O(2)非阻塞I/O(3)I/O复用(select和poll)(4)信号驱动I/O(SIGIO)(5)异步I/O   其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,由于内核还没有准

2016-03-17 11:12:09 215

转载 Linux下的多线程编程

1 引言  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。  为什么有了进程的概念后,还要再引入线程

2016-03-16 16:33:56 233

转载 客服端\服务器端程序(实现BBS)

/* *Linux_C课程实践项目: (仅供学习参考)    Linux环境命令行下 BBS 服务    功能:        a)  BBS服务器端提供分类的BBS信息,如:新闻、娱乐、供求、...            BBS客户端登录到BBS服务器后,服务器首先提供一个简单的            选择菜单供客户端选择信息类型,客户选中后,服务端将相应      

2016-03-16 16:30:25 759

转载 C语言深度解剖学习笔记

第一章 关键字什么是定义?什么是声明?什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和这块内存匹配起来,它们就同生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象

2016-03-16 16:17:21 262

原创 android学习之---屏幕知识

android屏幕知识点1,基本概念(1)分辨率:分辨率就是屏幕像素点的个数,android手机常见的分辨率有480*800,720*1280,1080*1920等;如,480*800,就是指这个屏幕宽有480个像素,高有800个像素。一个像素就是我们常说的R(红)G(绿)B(蓝)三色。这里像素的单位是px。(2)屏幕大小:屏幕大小是手机屏幕对角线的物理尺寸,以英寸(inch)为单位。

2015-06-25 16:29:45 384

转载 AsyncTask原理

AsyncTask原理new AsyncTask<String, String, String>() { // 2. 运行在主线程中, 做一些准备操作. public void onPreExecute() { } // 3. 运行在子线程中, 做一些耗时的任务. public String doInBackground(String... params) {

2015-06-10 13:08:45 348

转载 Android触摸屏事件派发机制详解与源码分析

1 背景最近在简书和微博还有Q群看见很多人说Android自定义控件(View/ViewGroup)如何学习?为啥那么难?其实答案很简单:“基础不牢,地动山摇。”不扯蛋了,进入正题。就算你不自定义控件,你也必须要了解Android控件的触摸屏事件传递机制(之所以说触摸屏是因为该系列以触摸屏的事件机制分析为主,对于类似TV设备等的物理事件机制的分析雷同但有区别。哈哈,谁让我之前是做A

2015-06-09 17:59:56 482

原创 android学习之---基本问题1

android学习之---抽象类与接口类的区别1),抽象类中可以有抽象方法和非抽象方法,其中,声明了方法而不去实现它的叫做抽象方法。如果一个类中包含至少一个抽象方法,那么这个类就叫抽象类(abstract )。而如果一个类中都是抽象方法,那么这个类就是接口类(interface)。2),抽象类需要被继承,而且只能单继承。子类继承抽象类后,可以直接使用里面的非抽象方法。    接口类

2015-06-09 10:42:32 299

原创 android学习之---滚动新闻视图

滚动新闻视图,呃~  其实真正的名称我也不太清楚,姑且这样叫吧。希望有大神可以帮忙指正,谢谢!首先看一下这个demo的视图:其中,有三个部分,分别是图片显示部分、标题部分和滚动中的点(先这样称呼吧)。<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout

2015-06-08 16:48:42 616 1

ROS基础笔记

ROS基础笔记 ROS入门指导 ROS基础笔记 ROS入门指导 ROS基础笔记 ROS入门指导 ROS基础笔记 ROS入门指导

2018-04-11

FreeModbus_For_STM32

基于FreeModbus STM32移植版本 编译测试环境keil5 FreeMODBUS一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。

2017-11-22

0.96OLED显示屏数据手册

0.96OLED显示屏数据手册

2017-06-12

最全的PCB封装

最全的PCB封装大全

2017-06-12

Mesh组网资料

mesh自组网组网,实测AR9344可用

2017-06-12

MT7620A固件

ZBT-WE826路由实测可用

2017-06-12

上网认证配置文件

上网认证wifidog配置文件,简单修改后即可使用

2017-03-07

读取文件字符串函数

读取文件字符串函数

2017-03-07

迪文串口屏新手指导手册

迪文串口屏 新手指导手册

2017-03-07

开关电源设计

基于单片机可控的任意电流比可调并联开关电源

2014-03-27

STM32所用外设固件函数简介

STM32所用外设固件函数简介

2014-02-11

STM32库函数代码自动生成器正式版

STM32库函数代码自动生成器正式版

2014-02-11

开关电源程序

开关电源

2012-05-31

空空如也

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

TA关注的人

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