自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沐 白

赚到的自己揣着,学到的要分享

  • 博客(193)
  • 资源 (3)
  • 收藏
  • 关注

转载 在图像中寻找轮廓

在图像中寻找轮廓目标在这个教程中你将学到如何:使用OpenCV函数 findContours使用OpenCV函数 drawContours原理例程教程的代码在下面给出. 你也可以从 这里 下载#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc

2017-11-14 16:21:33 364

转载 图像平滑处理

目标本教程教您怎样使用各种线性滤波器对图像进行平滑处理,相关OpenCV函数如下:blurGaussianBlurmedianBlurbilateralFilter原理Note 以下原理来源于Richard Szeliski 的著作 Computer Vision: Algorithms and Applications 以及 Learn

2017-11-14 16:04:14 536

转载 仿射变换

目标在这个教程中你将学习到如何:使用OpenCV函数 warpAffine 来实现一些简单的重映射.使用OpenCV函数 getRotationMatrix2D 来获得一个  旋转矩阵原理什么是仿射变换?一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移).综上所述, 我们能够用仿射变换来表示:

2017-11-14 16:02:08 950

转载 [opencv]模板匹配算法(单图像模板匹配和基于模板匹配的目标跟踪)

1.模板匹配opencv函数链接:http://www.opencv.org.cn/opencvdoc/2.3.2/html/modules/imgproc/doc/object_detection.html?highlight=matchtemplate#cv.MatchTemplatematchTemplate(InputArray image, InputArray 

2017-11-14 13:25:16 1865

转载 图像处理之霍夫变换(直线检测算法)

图像处理之霍夫变换(直线检测算法)霍夫变换是图像变换中的经典手段之一,主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。霍夫变换寻找直线与圆的方法相比与其它方法可以更好的减少噪声干扰。经典的霍夫变换常用来检测直线,圆,椭圆等。 霍夫变换算法思想:以直线检测为例,每个像素坐标点经过变换都变成都直线特质有贡献的统一度量,一个简单

2017-11-14 09:28:14 7423 2

转载 【图像配准】基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法

简介:       本文主要介绍几种基于灰度的图像匹配算法:平均绝对差算法(MAD)、绝对误差和算法(SAD)、误差平方和算法(SSD)、平均误差平方和算法(MSD)、归一化积相关算法(NCC)、序贯相似性检测算法(SSDA)、hadamard变换算法(SATD)。下面依次对其进行讲解。MAD算法介绍        平均绝对差算法(Mean Absolute Dif

2017-11-07 16:15:20 4834 1

转载 AVR——使用定时器必须弄清的几个概念

在MCU中(M16),定时器是独立的一个模块,M16有三个独立的定时器模块,即T/C0、T/C1和T/C2;其中T/C0和T/C2都是8位的定时器,而T/C1是一个16位的定时器。定时器的工作是独立于CPU之外自行运行的硬件模块。1、定时器何时开始工作(或说计数)的?  当TCCR0!=0x00任何模式下,只要MCU一上电,T/C就开始计时工作。其实TCCR0主要是定时器的预分频和波形

2017-08-08 17:19:56 2453

转载 AVR单片机模数转换的ADC实验 ATmega16

6.2 模数转换的ADC实验 6.2.1、实例功能 AVR的模数转换器ADC具有下列特点:10位精度;0.5LSB积分非线形误差±2LSB的绝对精度;13µs~260µs的转换时间;在最大精度下可达到每秒15kSPS的采样速率;8路可选的单端输入通道;7路差分输入通道;2路差分输入通道带有可选的10×和200×增益;ADC转换结果的读取可设置为左端对齐(LEFT ADJUSTMEN

2017-08-08 10:51:28 14889

转载 Matlab中插值函数汇总和使用说明

注:该文从链接地址http://blog.sciencenet.cn/blog-457143-679275.html转载。MATLAB中的插值函数为interp1,其调用格式为:  yi= interp1(x,y,xi,'method')           其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量, 'method'表示采用的插值方法,MATLA

2017-07-10 17:14:24 1229

转载 二分图的最大匹配、完美匹配和匈牙利算法

二分图的最大匹配、完美匹配和匈牙利算法2013-08-01Algorithms二分图匹配, 图论, 算法这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。二分

2017-06-20 20:46:18 310

转载 卡尔曼滤波 -- 从推导到应用(二)

该文是自我总结性文章,有纰漏,请指出,谢谢。           --白巧克力这部分主要是通过对第一部分中提到的匀加速小车模型进行位移预测。先来看看状态方程能建立准确的时候,状态方程见第一部分分割线以后内容,小车做匀加速运动的位移的预测仿真如下。[plain] view plain copyclc  clear all

2017-06-19 16:39:59 510

转载 卡尔曼滤波 -- 从推导到应用(一)

前言          卡尔曼滤波器是在估计线性系统状态的过程中,以最小均方差为目的而推导出的几个递推数学等式,也可以从贝叶斯推断的角度来推导。          本文将分为两部分:第一部分,结合例子,从最小均方差的角度,直观地介绍卡尔曼滤波的原理,并给出较为详细的数学推导。第二部分,通过两个例子给出卡尔曼滤波的实际应用。其中将详细介绍一个匀加速模型,并直观

2017-06-19 16:39:18 2603

转载 由RGB到HSV颜色空间的理解

1. RGB模型2. HSV模型3. 如何理解RGB与HSV的联系4. HSV在图像处理中的应用5. OpenCV中RGB-->HSV实现在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维坐标的模型形式,非常容易被理解。而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色、深浅如何、明暗如何。第一次

2017-06-18 21:52:50 2907

转载 工作队列(workqueue)

项目需要,在驱动模块里用内核计时器timer_list实现了一个状态机。郁闷的是,运行时总报错“Scheduling while atomic”,网上搜了一下:"Scheduling while atomic" indicates that you've tried to sleep somewhere that you shouldn't - like within a spinlo

2017-06-13 10:05:45 790

转载 什么是workqueue?

Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程, Workqueue机制的实现Workqueue机制中定义了两个重要的数据结构,分析如下:

2017-06-13 09:55:45 1097

转载 NanoPC-T2(S5P4418)无法通过Android usb host API识别两个以上USB设备

NanoPC-T2(S5P4418)无法通过Android usb host API识别两个以上USB设备当我连接一个打印机和一个USB转串口设备到NanoPC-T2上时,发现不能识别两个以上的USB设备。只有第一个识别的设备能够会一个成功的配置(configration),而后的设备无法得到一个正常的配置(configration),这样就无法正确识别到该设备。这个问题困扰了我很久,我甚

2017-06-09 11:18:15 706

转载 按键从Linux到Android

按键从Linux到Android  现在的普通按键也集成到Linux Input子系统中了,只需要把按键对应的IO端口配置好,按键就可以工作了。所以一般提供的BSP(或者叫作解决方案)中,已经完善了按键驱动。关键是快速的了解按键的映射。所以这里不作源码级分析。源码分析可以参考这里:《基于S3C2440的Linux-3.6.6移植——按键驱动》  Linux按键的扫描码 

2017-06-09 10:55:27 492

转载 Android 5.0(Lollipop)事件输入系统(Input System)

其实Android 5.0中事件输入子系统的框架和流程没有本质变化。Service端的实现在/frameworks/native/services/inputflinger/下(4.4中在/frameworks/base/services/input下)。通用部分的实现在/frameworks/native/libs/input/下。Android系统中负责管理输入事件的主要是InputManag

2017-06-01 11:17:38 916

转载 Matlab随笔之插值与拟合(下)

1、二维插值之插值节点为网格节点已知m x n个节点:(xi,yj,zij)(i=1…m,j=1…n),且xi,yi递增。求(x,y)处的插值z。         Matlab可以直接调用interp2(x0,y0,z0,x,y,`method`)        其中 x0,y0 分别为 m 维和 n 维向量,表示节点, z0 为 n × m 维矩阵,表示节点值, x,y

2017-05-29 23:23:18 3013

转载 Matlab随笔之插值与拟合(上)

1、拉格朗日插值新建如下函数:function y=lagrange(x0,y0,x) %拉格朗日插值函数 %n 个节点数据以数组 x0, y0 输入(注意 Matlat 的数组下标从1开始), %m 个插值点以数组 x 输入,输出数组 y 为 m 个插值 n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; fo

2017-05-29 23:16:15 1056

转载 拉格朗日插值法 C语言实现

/* *作者:KDF5000 *功能:利用拉格朗日插值法求解近似值 *时间:2013.4.15 */  #include   #include   #include   //存放插值节点  struct Data{      double x;      double y;      struct Data *next;  };  /****

2017-05-29 20:52:59 5424

转载 卡尔曼滤波程序matlab 解释

clearN=200;%取200个数w(1)=0;w=randn(1,N);%产生一个1×N的行向量,第一个数为0,w为过程噪声(其和后边的v在卡尔曼理论里均为高斯白噪声)x(1)=0;%状态x初始值a=1;%a为状态转移阵,此程序简单起见取1for k=2:Nx(k)=a*x(k-1)+w(k-1); %系统状态方程,k时刻的状态等于k-1时刻状态乘以状态转移阵加噪声

2017-05-17 23:47:16 958

转载 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波

本系列文章由@浅墨_毛星云 出品,转载请注明出处。  文章链接: http://blog.csdn.NET/poem_qianmo/article/details/22745559作者:毛星云(浅墨)    邮箱: happylifemxy@163.com 写作当前博文时配套使用的OpenCV版本: 2.4.8

2017-05-17 15:57:26 414

转载 imadjust从用法到原理—Matlab灰度变换函数之一

imadjust函数是MATLAB的一个工具箱函数,一般的语法调用格式为:f1=imadjust(f,[low_in  high_in],[low_out  high_out],gamma)(注:本文所述图像数据均为Uint8,对于Matlab,矩阵中的一个元素即是一个像素点)该函数的意义如图1所示,把图像f 灰度变换到新图像f1的过程中,f 中灰度值低于low_in的像素

2017-05-07 00:24:39 2184

转载 项目应用中的卡尔曼滤波

接触卡尔曼滤波的渊源最近因为项目需要,需要对经某种途径获取到的数据进行处理,数据大概就是从某种传感器那里来的,现在假定这个数据是某个网络的阻抗。获取到数据之后,发现数据是波动的,并且波动的范围比较大,我将数据记录后使用excel绘出图形,发现数据好像是周期性波动的。在这种情况下我首先想到的便是一阶滞后滤波,因为之前有项目用到过,但是效果不是很理想(可能因为某些参数调的不对),使用均值滤波后

2017-05-06 23:27:06 1793 1

转载 RGB图像转为灰度图

最后结论:Grey = (R*38 + G*75 + B*15)>> 7代码[cpp] view plain copy#include   #include      using namespace cv;  int main(){           Mat src= imread("C:\\Users\

2017-05-06 23:21:15 7756

转载 android下dev设备的权限问题

倘若应用程序需要对/dev/xxx进行读写操作,就需要提升其权限。提权方法不唯一,需要根据具体需求情况而选择。归根结底,终究都落到chmod 777 /dev/xxx 上,不同的是,chmod操作被执行在何时何地,在此做个分析总结。        内核启动后会执行/system/init,传说中的系统1号进程,init程序起初的任务是初始化,包括各种mkdir来构建文件系统,得到硬件信息建立设

2017-04-25 17:10:43 3941

转载 Ft5x06_ts驱动程序的重写

我们分析内核源码可知,Ft5x06_ts触摸屏驱动程序涉及如下内容:1.  Linux下I2C驱动框架2.  Linux下中断系统3.  Linux下workqueue机制4.  Linux下输入子系统5.  中断初始化、I2C控制器相关初始化。在arch/arm/mach-exynos/mach-smdk4x12.c中的s3c_i2c1_set_pla

2017-04-21 10:24:34 1160

转载 Linux I2C(一)之常用的几种实例化(i2c_client ),i2ci2c_client

前言:因为工作是音频驱动,所以经常涉及到I2C、I2S等常用的总线,想将I2C相关的东西总结一下,让自己更加了解I2C。基于:Linux3.10方式一:使用arch/arm/mach-s3c24xx/mach-mini2440.c举例:static struct i2c_board_info mini2440_i2c_devs[] __initdata = {

2017-04-19 11:53:58 2292 1

转载 linux串口程序

main.c[cpp] view plain copy#include "SerDrive.h"  #include       /*文件控制定义*/  #include   //======================================  int SerFd = -1;  void ProcessIni

2017-04-17 16:10:29 436

转载 ubuntu下如何获取源码包和源码

如何获取ubuntu源码包里面的源码?1、在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项2、使用如下命令获取xxx源码包的详细信息: sudo apt-cache showsrc xxx 这用来查询当前镜像站点中是否有该源码包。3、源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后

2017-04-17 16:08:22 4537

转载 SOCKET类型定义及应用。

读代码时看到此处,摘记下来。流套接字(SOCK_STREAM):流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。数据报套接字(SOCK_DGRAM):数据报套接字提供了一种

2017-04-12 22:14:09 668

转载 Linux下socket编程,附带tcp例子

摘要: 1、网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道、FIFO、消息队列) 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量) 共享内存(匿名的和具名的) 远程过程调用(Solaris门和Sun RPC) 但这些都不是本文的主题!我们要讨论的是网络1、网络中进程之间如何通信?本地的进程间通信(IPC)有很多种

2017-04-12 22:13:20 568

转载 Linux中的工作队列

工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部分对2.6.20之前和之后的版本分别做介绍。

2017-04-12 22:11:33 211

转载 Java中static关键字用法总结

1.     静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法   声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法。 · 它们只能访问static数据。 · 它们不能以任何方式引用this 或super。class Simple {    static void go() {

2017-04-12 16:43:48 276

转载 jxl.jar包简介/java操作excel jxl.jar下载地址

分类: Java下载地址:http://www.andykhan.com/jexcelapi/ 当前的最高版本是2.6。真实下载地址:http://www.andykhan.com/jexcelapi/download.html作者的网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标

2017-04-05 14:07:26 6126

转载 几个简单的数据点平滑处理算法

最近在写一些数据处理的程序。经常需要对数据进行平滑处理。直接用FIR滤波器或IIR滤波器都有一个启动问题,滤波完成后总要对数据掐头去尾。因此去找了些简单的数据平滑处理的方法。在一本老版本的《数学手册》中找到了几个基于最小二乘法的数据平滑算法。将其写成了C 代码,测试了一下,效果还可以。这里简单的记录一下,算是给自己做个笔记。算法的原理很简单,以五点三次平滑为例。取相邻的5个数据点,

2017-03-23 20:53:05 14539 1

转载 C++关于平滑滤波的一种算法

#include using namespace std;double in[16] = {0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,87.0,78.0,3.0,3.0};int n,i,l,x;double temp;void SmoothCurve(double* inArray,int inSize

2017-03-23 20:28:19 6053 1

转载 交叉编译环境以及开发板上-/bin/sh: ./hello: not found(使用arm-linux-gcc -static -o 来进行静态编译)

目标板是S3C2440.至于交叉编译环境的搭建就不多说了,网上很多教程.搭建好了交叉编译环境后,第一件事就是传说中的”Hello,World!”.一. 主机编译环节我使用的系统是ubuntu10.04,搭建好交叉编译环境后,终端输入arm-linux-gcc -v能够正常显示版本信息,但是输入sudo arm-linux-gcc -v后却显示命令无法找到.我试过很多

2017-03-21 22:44:49 691

转载 Ubuntu12.04(64bit)编译Android4.4源码和kernel

因为之前没编译过Android源码,make时各种错误让我痛苦了好几天的时间。。。1.到Oracle的官网上下载1.6的JDK(切记一定要是1.6的,其他版本的会出错;如果你的ubuntu是64位的选择x64的版本,32位的就选择i586版本的JDK)2.下载android源码,这里我用repo下载了几次都没有成功,所以用了网上别人下好的4.4源码,再此感谢3.

2017-03-14 22:27:14 311

QT之QCUSTOMPLOT

QT之QCUSTOMPLOT绘图(一)配置和第一个例子

2017-03-14

C程序设计第三版谭浩强pdf包括答案

C程序设计第三版谭浩强pdf包括答案 挺经典的 我们同学一般都看这个 一般介绍也都是这本

2013-04-15

空空如也

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

TA关注的人

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