
算法参悟
cp32212116
学如逆水行舟,不进则退!
展开
-
使用位运算加速乘除法运算
位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次为~、&、^、|, 其中~的结合方向自右至左,且转载 2014-08-02 20:34:14 · 3077 阅读 · 0 评论 -
图像二值化--阈值自动选取
图像分割是图像处理这门学科中的基础难题,基于阈值的分割则又是图像分割的最基本的难题之一,其难点在于阈值的选取。事实证明,阈值的选择的恰当与否对分割的效果起着决定性的作用。由于阈值选取对图像分割的基础性,本文主要在【1】、【2】、【3】、【4】等的基础上,对一些当前流行的阈值选取算法做了探讨、实现和比较。多阈值分割虽然能进一步提高图像分割的质量,但由于它只是分割技巧的处理问题,而与单阈值分割并无本质原创 2015-03-20 10:23:37 · 18847 阅读 · 0 评论 -
最小二乘法直线拟合及其Matlab实现
最小二乘法,通常用在我们已知数学模型,但是不知道模型参数的情况下,通过实测数据,计算数学模型,例如,在题目中,数学模型就是直线方程y=ax+b,但是不知道直线方程的a和b。 本来呢,我们只需要两组(xi,yi),就可以解得a和b,但是由于实测数据都存在误差,所以,我们很容易想到一个办法,我们测很多组数据来让我的a和b更加准确。 “我们测很多组数据来让我的a和b更加准确” ,那原创 2014-12-10 16:47:57 · 36434 阅读 · 2 评论 -
PID控制通俗解释与PID参数的整定方法--以温控系统为例
PID是比例、积分、微分的简称,PID控制的难点不是编程,而是控制器的参数整定。参数整定的关键是正确地理解各参数的物理意义,PID控制的原理可以用人对炉温的手动控制来理解。阅读本文不需要高深的数学知识。 1.比例控制有经验的操作人员手动控制电加热炉的炉温,可以获得非常好的控制品质,PID控制与人工控制的控制策略有很多相似的地方。下面介绍操作人员怎样用比例控制的思想来手动转载 2014-12-19 22:50:32 · 22845 阅读 · 0 评论 -
Kalman滤波器从原理到实现
本文转载自:http://xiahouzuoxin.github.io/notes/Kalman滤波器的历史渊源We are like dwarfs on the shoulders of giants, by whose grace we see farther than they. Our study of the works of the ancients enabl转载 2015-01-24 23:00:54 · 1158 阅读 · 0 评论 -
四元数与欧拉角之间的转换
在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系:原创 2014-08-20 13:59:47 · 1045 阅读 · 0 评论 -
一种常见的四轴飞行器姿态解算方法分析
本文将分析一种常见的四轴飞行器姿态解算方法,Mahony的互补滤波法。此法简单有效,希望能给学习四轴飞行器的朋友们带来帮助。关于姿态解算和滤波的理论知识,推荐秦永元的两本书,一是《惯性导航》,目前已出到第二版了;二是《卡尔曼滤波与组合导航原理》。程序中的理论基础,可在书中寻找。 同时欢迎到论坛发帖交流:forum.eepw.com.cn/forum/368/1 下面开始进入正题:转载 2014-08-20 14:08:00 · 3907 阅读 · 0 评论 -
Kalman滤波在单片机上的使用
#ifndef _KALMAN_H_#define _KALMAN_H_extern KalmanGain; //卡尔曼增益extern EstimateCovariance; //估计协方差extern MeasureCovariance; //测量协方差extern EstimateValue; //估计值extern void KalmanFilt原创 2014-10-31 19:19:53 · 1386 阅读 · 0 评论 -
10种软件滤波算法
软件滤波在嵌入式的数据采集和处理中有着很重要的作用,这10种方法各有优劣,根据自己的需要选择。同时提供了C语言的参考代码,希望对各位能有帮助。 1、限幅滤波法(又称程序判断滤波法) A、方法: 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断: 如果本次值与上次值之差 如果本次值与上转载 2014-11-16 22:14:18 · 1025 阅读 · 0 评论 -
参悟Kalman滤波之初步理解与实现
1.卡尔曼滤波器概述卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction原创 2014-10-30 21:28:15 · 1030 阅读 · 0 评论 -
字符串模式匹配
//子串的定位操作通常称作串的模式匹配(子串称为模式串)/*算法一:在主串S中取从第i(i的初值为pos)个字符起、长度和串T相等的子串和串T比较,若相等,则求得函数值为i,否则i值增1直至串S中不存在和串T相等的子串为止。*/int Index(String S, String T, int pos){ if(pos > 0) { n = StrLength(S); m原创 2014-09-12 16:15:49 · 494 阅读 · 0 评论 -
HOG:用于人体检测的梯度方向直方图 Histograms of Oriented Gradients for Human Detection
用于人体检测的方向梯度直方图Navneet Dalal,Bill Triggs 摘要 我们研究了视觉目标检测的特征集问题,并用线性SVM方法进行人体检测来测试,通过与当前的基于边缘和梯度的描述子进行实验对比,得出方向梯度直方图(Histograms of Oriented Gradient,HOG)描述子在行人检测方面表现更加突出。我们研究了计算过转载 2014-09-06 21:50:15 · 3939 阅读 · 1 评论 -
栈与递归-汉诺塔
/*(n阶Hanoi塔问题)假设有三个分别命名为X,Y和Z的塔座,在塔座X上插有n个直径大小各不相同、从小到大编号为1,2...,n的圆盘(如下图),现要求将X轴上的n个圆盘移至塔座Z上并按照同样的顺序叠排,圆盘移动时必须遵循下列规则:(1)每次只能移动一个圆盘;(2)圆盘可以插在X,Y和Z中的任一塔座上;(3)任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。如何实现移动圆盘的操作原创 2014-09-06 09:35:08 · 783 阅读 · 0 评论 -
一种高效的平均值滤波方法
在十种经典软件滤波算法中,可以看到很多算法都是平均值滤波算法变种,事实上最常用的也还是平均值滤波算法。但传统的平均值滤波算法很占内存,每次运算都要求累加和,再求平均值,导致运算效率不高。转载 2014-08-20 15:09:05 · 4708 阅读 · 0 评论 -
一种超级快速的图像二值化方法
一种超级快速的图像二值化技术(注:该方法的应用之一:快速的图像分割)在计算机视觉中,对图像进行二值化恐怕是最常见的操作了。为了检测目标,可能需要对每一帧图像的每一个像素点进行运算。如果能提升二值化的速度,那么,你的算法的效率就会大大的提高。本文,将介绍一种超级快速的图像二值化技术。要解决的问题:图3d-space-in-thresholding1.jpg 如图转载 2014-08-01 16:15:00 · 1672 阅读 · 0 评论 -
参悟PID算法之理解算法与基本实现
制模型:你控制一个人让他以PID控制的方式走110步后停下。 (1)P比例控制,就是让他走110步,他按照一定的步伐走到一百零几步(如108步)或100多步(如112步)就停了。 说明: P比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。 (2)PI积分控制,就是他按照一定转载 2014-08-06 20:24:54 · 3845 阅读 · 0 评论 -
常用软件滤波方法及其示例
1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差示例:/*A值可根据实际情况调整转载 2014-08-20 14:46:17 · 695 阅读 · 0 评论 -
七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)
图像算法:图像阈值分割SkySeraph Dec 21st 2010 HQUEmail:zgzhaobo@gmail.com QQ:452728574Latest Modified Date:Dec.21st 2010 HQU一、工具:VC+OpenCV二、语言:C++三、原理(略)四、程序主程序(核心部分) 代码转载 2015-03-20 09:48:51 · 2193 阅读 · 0 评论