自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

勿在浮砂筑高台

脚踏实地,让一步一个脚印!

  • 博客(61)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 【机器学习详解】SMO算法剖析

本文力求简化SMO的算法思想,毕竟自己理解有限,无奈还是要拿一堆公式推来推去,但是静下心看完本篇并随手推导,你会迎刃而解的。推荐参看SMO原文中的伪代码。**1.SMO概念**===========上一篇博客已经详细介绍了[SVM原理](http://blog.csdn.net/luoshixian099/article/details/51073885),为了方便求解,把原始最优化问题转化成了其对偶问题,因

2016-04-27 23:00:27 76317 46

原创 【数据压缩】JPEG标准与原理解析

为了满足不同应用的需求,JPEG标准包括两种基本的压缩方法:1.基于DCT变换的有损压缩算法;2.基于预测方法的无损压缩算法。基于DCT的基线系统有损压缩技术是到目前为止应用最为广泛的一种压缩方法。1.基于DCT有损压缩技术   下面是编码器和解码器的流程图,压缩过程:原图分成8×8的子块,分别进行正向离散余弦变换(FDCT),对每个8×8子块的系数采用量化表进行量化,最后使用熵编码,输出

2015-12-24 19:26:49 15209 3

原创 【数据压缩】LZW算法原理与源码解析

LZW压缩算法原理非常简单,因而被广泛地采用,已经被引入主流图像文件格式中。该算法由Lempel-Ziv-Welch三人发明,这种技术将定长码字分配给变长信源符号序列,它不需要知道被压缩文件的符号出现概率的先验知识,只需要动态地建立和维护一个字典,和其他压缩算法相比既是缺点也是优点。1. LZW原理   LZW通过建立一个字典(code table),用字典的索引序号代替出现过的字符串序列

2015-12-17 21:48:48 19230 11

原创 【特征匹配】RANSAC算法原理与源码解析

随机抽样一致性(RANSAC)算法,可以在一组包含“外点”的数据集中,采用不断迭代的方法,寻找最优参数模型,不符合最优模型的点,被定义为“外点”。在图像配准以及拼接上得到广泛的应用,本文将对RANSAC算法在OpenCV中角点误匹配对的检测中进行解析。OpenCV中使用RANSAC算法寻找一个最佳单应性矩阵,矩阵大小为3×3。RANSAC目的是找到最优的参数矩阵使得满足该矩阵的数据点个数最多,通常令h33=1来归一化矩阵。由于单应性矩阵有8个未知参数,至少需要8个线性方程求解,对应到点位置信息上,一组点对

2015-12-08 20:34:33 57117 21

原创 【特征匹配】ORB原理与源码解析

为了满足实时性的要求,前面文章中介绍过快速提取特征点算法Fast,以及特征描述子Brief。本篇文章介绍的ORB算法结合了Fast和Brief的速度优势,并做了改进,且ORB是免费。   Ethan Rublee等人2011年在《ORB:An Efficient Alternative to SIFT or SURF》文章中提出了ORB算法。结合Fast与Brief算法,并给Fast特征点

2015-09-17 16:15:31 28204 19

原创 【特征匹配】BRIEF特征描述子原理及源码解析

传统的特征点描述子如SIFT,SURF描述子,每个特征点采用128维(SIFT)或者64维(SURF)向量去描述,每个维度上占用4字节,SIFT需要128×4=512字节内存,SURF则需要256字节。如果对于内存资源有限的情况下,这种描述子方法显然不适应。同时,在形成描述子的过程中,也比较耗时。后来有人提出采用PCA降维的方法,但没有解决计算描述子耗时的问题。   鉴于上述的缺点Michae

2015-09-10 09:17:59 19284 3

原创 【特征匹配】Harris及Shi-Tomasi原理及源码解析

本文采用的是opencv2.4.3中的源码。转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/48244255Harris角点检测   人眼对角点的识别通常是通过一个局部的小窗口内完成的,如果在各个方向上移动这个小窗口,窗口内的灰度发生了较大的变化,那么说明窗口内存在角点。  如果在各个方向移动,灰度几乎不变,说明

2015-09-06 15:03:34 12810 13

原创 简单python爬虫淘宝图片+界面编程+打包成exe

完整代码见文章最后第一步:编写爬虫代码import reimport urllib.requestdef getHtml(url='') : page = urllib.request.urlopen(url) html = page.read().decode('GBK') #解析网页源代码 return html#print(html)de

2017-03-21 14:05:22 5326 1

原创 2017网易校招内推笔试题

转载注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/52102841本人笔试的计算机视觉方向,编程题和其他研发岗位类似。 欢迎小伙伴们一起讨论出正确答案。共20个选择题,3个编程题,1个简答题一.选择题1.Linux中,提供TCP/IP包过滤功能的软件叫什么? A.iptables   \ \ \ B.route

2016-08-03 15:30:16 7691 1

原创 算法导论--单源最短路径问题(Dijkstra算法)

转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51918844单源最短路径是指:给定源顶点s∈Vs \in V到分别到其他顶点v∈V−{s}v \in V-\{s\}的最短路径的问题。 Dijkstra算法采用贪心策略:按路径长度递增的顺序,逐个产生各顶点的最短路径。算法过程中需要维护一个顶点集SS,此顶点集保存

2016-07-15 18:41:49 16265 3

原创 算法导论--最小生成树(Kruskal和Prim算法)

转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51908175关于图的几个概念定义:连通图:在无向图中,若任意两个顶点viv_i与vjv_j都有路径相通,则称该无向图为连通图。强连通图:在有向图中,若任意两个顶点viv_i与vjv_j都有路径相通,则称该有向图为强连通图。连通网:在连通图中,若图的边具有一定的

2016-07-14 16:58:59 140167 33

原创 算法导论--图的遍历(DFS与BFS)

转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51897538图的遍历就是从图中的某个顶点出发,按某种方法对图中的所有顶点访问且仅访问一次。为了保证图中的顶点在遍历过程中仅访问一次,要为每一个顶点设置一个访问标志。通常有两种方法:深度优先搜索(DFS)和广度优先搜索(BFS).这两种算法对有向图与无向图均适用。

2016-07-13 17:41:55 14194 2

原创 算法导论--图的存储(邻接表与邻接矩阵)

图的存储方法有邻接表、邻近矩阵、邻接多重表、十字链表等。本篇文章介绍两种简单且比较常用的两种方法:邻接表与邻接矩阵方法。 以下面的无向图为例,介绍两种存储方法。有向图的存储方法类似,只是边是单方向,无向图的边可以看做双向。 1.邻接链表法邻接链表表示法对图中的每个顶点建立一个带头的边链表;第i条链表代表依附于顶点viv_i所有边信息,若为有向图,则表示以顶点viv_i为弧尾的边信息。邻接链接可以

2016-07-12 15:50:25 8562

原创 【机器学习详解】解无约束优化问题:梯度下降、牛顿法、拟牛顿法

无约束优化问题是机器学习中最普遍、最简单的优化问题。 x∗=minx f(x),x∈Rnx^*=min_{x}\ f(x),x\in R^n1.梯度下降梯度下降是最简单的迭代优化算法,每一次迭代需求解一次梯度方向。函数的负梯度方向代表使函数值减小最快的方向。它的思想是沿着函数负梯度方向移动逐步逼近函数极小值点。选择适当的初始值x(0)x^{(0)},不断迭代,沿负梯度方法更新xx值,直到收敛。具体

2016-07-06 20:58:22 10386 2

原创 【机器学习详解】决策树与随机森林算法

决策树决策树模型是一种树形结构,基于特征对实例进行分类或回归的过程。即根据某个特征把数据分划分到若干个子区域(子树),再对子区域递归划分,直到满足某个条件则停止划分并作为叶子节点,不满足条件则继续递归划分。 一个简单的决策树分类模型:红色框出的是特征。 决策树模型学习过程通常包3个步骤:特征选择、决策树的生成、决策树的修剪。1.特征选择选择特征顺序的不同将会产生不同决策树,选择好的特征能使得各个

2016-07-03 21:16:12 8831

原创 【机器学习详解】AdaBoost算法原理

概念AdaBoost是一种级联算法模型,即把几个弱分类器级联到一起去处理同一个分类问题。也就是“三个臭皮匠顶一个诸葛亮”的道理。例如一个专家作出的判定往往没有几个专家一起作出的判定更准确。一种情况:如果每个专家都仅有一票的权利,采用投票机制的方法属于

2016-06-20 20:09:45 6773

原创 【机器学习详解】SVM解回归问题

在样本数据集(xn,tn)中,tn不是简单的离散值,而是连续值。如在线性回归中,预测房价的问题。与线性回归类似,目标函数是正则平方误差函数: 在SVM回归算法中,目的是训练出超平面y=wTx+b,采用yn=wTxn+b作为预测值。为了获得稀疏解,即计算超平面参数w,b不依靠所用样本数据,而是部分数据(如在SVM分类算法中,支持向量的定义),采用ϵ−insensitive 误差函数–Vapnik,1

2016-04-12 10:47:09 38062 2

原创 【机器学习详解】SVM解二分类,多分类,及后验概率输出

转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51073885 CSDN−勿在浮沙筑高台\color{Blue}{CSDN-勿在浮沙筑高台} 支持向量机(Support Vector Machine)曾经在分类、回归问题中非常流行。支持向量机也称为最大间隔分类器,通过分离超平面把原始样本集划分成两部分。首先考虑最简单

2016-04-10 22:10:18 66957 11

转载 【机器学习详解】矩阵奇异值分解(SVD)及其应用

PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征

2016-04-10 09:29:44 3990

原创 【机器学习详解】概率生成模型与朴素贝叶斯分类器

1.概率生成模型首先介绍生成模型的概念,然后逐步介绍采用生成模型的步骤。1.1概念 即对每一种类别CkC_k分别建立一种模型p(Ck|x)p(C_k|x),把待分类数据x分别带入每种模型中,计算后验概率p(Ck|x)p(C_k|x),选择最大的后验概率对应的类别。假设原始数据样本有K类,生成学习算法是通过对原始数据类p(x|Ck)p(x|C_k)与p(Ck)p(C_k)建立数据类模型后,采用贝

2016-03-31 23:39:08 12126 1

原创 【机器学习详解】KNN分类的概念、误差率及其问题

KNN(K-Nearest Neighbors algorithm)是一种非参数模型算法。在训练数据量为N的样本点中,寻找最近邻测试数据x的K个样本,然后统计这K个样本的分别输入各个类别w_i下的数目k_i,选择最大的k_i所属的类别w_i作为测试数据x的返回值。当K=1时,称为最近邻算法,即在样本数据D中,寻找最近邻x的样本,把x归为此样本类别下。常用距离度量为欧式距离。在二维平面上要预测中间'*'所属颜色,采用K=11时的情况,其中有4黑色,7个蓝色,即预测'*'为蓝色。右图所示:当K=1时,即最近邻

2016-03-18 17:23:46 19570 3

原创 【机器学习详解】线性回归、梯度下降、最小二乘的几何和概率解释

线性回归即线性拟合,给定N个样本数据(x1,y1),(x2,y2)....(xN,yN)(x_1,y_1),(x_2,y_2)....(x_N,y_N)其中xix_i为输入向量,yiy_i表示目标值,即想要预测的值。采用曲线拟合方式,找到最佳的函数曲线来逼近原始数据。通过使得代价函数最小来决定函数参数值。 采用斯坦福大学公开课的例子:假如一套房子的价格只考虑由房屋面积(Living area)与

2016-03-13 22:29:04 9896

翻译 【特征匹配】BRISK原文翻译

文章翻译自:《BRISK: Binary Robust Invariant Scalable Keypoints》Stefan Leutenegger, Margarita Chli etl.BRISK 摘要:从一幅图片中高效地寻找关键点始终是一个深入研究的话题,以此形成了众多的计算机视觉应用的基础。正在这个领域中,先驱算法SIFT和SURF在各种图形转换中表现出了巨大的性能,特别是SURF在日益更新的高性能方法中被认为是计算最有效的方法。本文提出的BRISK算法是用于关键点检测,描述和匹配的一种新方法。

2016-02-24 17:36:21 6963

原创 【数据压缩】Huffman原理与代码实现

Huffman算法也是一种无损压缩算法,但与上篇文章LZW压缩算法不同,Huffman需要得到每种字符出现概率的先验知识。通过计算字符序列中每种字符出现的频率,为每种字符进行唯一的编码设计,使得频率高的字符占的位数短,而频率低的字符长,来达到压缩的目的。通常可以节省20%~90%的空间,很大程度上依赖数据的特性!Huffman编码是变长编码,即每种字符对应的编码长度不唯一。前缀码:任何一个字符的编码都不是同一字符集中另一种字符编码的前缀。Huffman编码为最优前缀码,即压缩后数据量最小。-------

2015-12-21 23:00:14 13784 1

原创 【数据压缩】压缩率-图像熵-保真度

关于图像压缩上的几个名词解释:1.平均比特数:对应一张图像上每个像素所采用的平均比特数,L(r_k)为灰度级r_k所使用的比特数,p(r_k)表示对应灰度级的概率; 2.压缩率&相对数据冗余:若b和b'是两个不同的比特数,代表着相同信息;即是同一张图像,采用不同的比特数总数去表示;3.图像的熵:一个具有概率P(E)的随机事件E可被说成是包含I(E)单位的信息;在图像中信息的单位采用比特表示,即log底数底数选择2;定义图像中每种灰度级输出的平均信息为图像的熵;由于定义可知,通过观察图像的直方图就可

2015-12-18 17:11:41 8120 1

原创 MFC实用小软件

刚学MFC,做了几个感觉有用的小软件,分享给大家!1.定时自动关机可以定时几小时后关机!下载地址:http://download.csdn.net/detail/luoshixian099/8221477(附源码)2."大家来找茬"游戏助手针对QQ游戏“大家来找茬”,做的小助手,帮助你快速找出5个不同点。MFC+OpenCV做好后,一直就是第一名了.....

2015-11-22 13:08:40 3090 13

原创 算法导论--两种选择算法

算法导论--两种选择算法1.期望为线性时间的选择算法2.最坏情况为线性时间的选择算法

2015-11-13 13:31:31 4341

原创 MFC应用程序打包发布教程

MFC应用程序打包教程本篇文章介绍如何把做好的MFC软件打包,变成一个安装文件,方便在其他电脑上运行。使用上篇文章制作好的"视频播放器"工程作为例子。1.在同一个解决方案下,新建一个Setup工程,工程名为VPSetup;2.右击VPSetup工程->view->文件系统如下图所示选择项目输出,选择VideoPlayer工程作为作为主输出3.它会自动检测工程中调用的链接库,安装完成后会自动释放到指定文件夹下。如果缺少部分链接库,也可以手动添加进去。右击应用主输出文件(上图"应用程序"标示),创建两份s

2015-11-12 17:50:27 28092 1

原创 视频播放器制作(OpenCV+MFC)

1.新建一个MFC工程,工程名VideoPlayer,选择使用静态库,添加控件如上图所示。修改控件的属性:Picture控件ID--->IDC_VIEW;滑动条控件 --->为此控件绑定一个CSliderCtrl类对象Slider。为了得到拖动滑动条可以到达“快进”和“快退”的效果。首先需要OpenCV里面的CvvImage类,如果版本低于OpencCV2.2,可以直接调用这个类,如果高于此版本,需要重新定义这个类。CvvImage.cpp与CvvImage.h源代码见文章最后,把两个文件加入到工程中即可

2015-11-10 13:48:54 12012 3

原创 【特征匹配】PCA-SIFT原理及源码解析

相关: SIFT原理与源码解析 SURF原理与源码解析 ORB原理与源码解析 FAST原理与源码解析 BRIEF描述子原理与源码解析 Harris原理与源码解析转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/49174869PCA-SIFT是对传统SIFT算法的改进,由Yan Ke等人

2015-10-16 21:26:20 15625 7

原创 【特征匹配】Fast原理及源码解析

在实时的视频流处理中,需要对每一帧特征提取,对算法处理速度上有很高的要求,传统的SIFT,Harris等特征点提取很难满足。由此提出Fast(Features from Accelerated Segment Test),由于不涉及尺度,梯度,等复杂运算,Fast检测器速度非常快。它使用一定邻域内像元的灰度值与中心点比较大小去判断是否为一个角点。但它的缺点是不具有方向性,尺度不变性。转载请

2015-09-08 18:34:43 11722 5

原创 【特征匹配】SURF原理与源码解析(二)

上一篇已经详细分析了SURF的原理,本篇分析opencv中的SURF源码。使用的源码是opencv2.4.3版本,SURF源码位于.../nonfree/surf.cpp中,SURF类的声明位于features2d.hpp中。注意:如果调用了比较简单的函数,我会把函数的实现直接贴在下面。首先看features2d.hpp中SURF类的声明:/*! SURF implem

2015-08-23 14:56:18 6408 2

原创 【特征匹配】SURF原理与源码解析(一)

SURF (Speed Up Robust Features)是SIFT改进版也是加速版,提高了检测特征点的速度,综合性能要优于SIFT。下面先逐次介绍SURF的原理,最后解析opencv上SURF源码。转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/477781431.积分图像SURF是对积分图像进行操作,从而

2015-08-20 14:12:27 20536

原创 【特征匹配】SIFT原理之KD树+BBF算法解析

继上一篇中已经介绍了SIFT原理与C源码剖析,最后得到了一系列特征点,每个特征点对应一个128维向量。假如现在有两副图片都已经提取到特征点,现在要做的就是匹配上相似的特征点。相似性查询有两种基本方式:1.范围查询:即给点查询点和查询阈值,从数据集中找出所有与查询点距离小于阈值的点。                          2.K近邻查询:给点查询点及正整数K,从数据集中找到与查询

2015-08-13 09:41:44 11909 5

原创 【特征匹配】SIFT原理与C源码剖析

本文重点将以Rob Hess等人用C实现的代码做解析,结合代码SIFT原理会更容易理解。一些难理解点的用了☆标注。 SIFT(Scale-invariant feature transform)即尺度不变特征转换,提取的局部特征点具有尺度不变性,且对于旋转,亮度,噪声等有很高的稳定性。本文将以下函数为参照顺序介绍SIFT特征点提取与描述方法。 1.图像预处理 2.构建高斯金字塔(不同尺度下的图像) 3.生成DOG尺度空间 4.关键点搜索与定位 5.计算特征点对应原图的位置 6.为特征点分配方向角

2015-08-09 17:08:34 12984 11

原创 opencv打开监控录制的视频出现错误,解决办法!

问题: 之前没有遇到过此类问题,今天用opencv打开监控录制视频(.mp4)进行处理时,出现错误! 找到cap_ffmpeg_impl.hpp源文件,也没有看懂其原理,网上很多人说是路径出现错误,有人说是视频放在源程序下等,这些都不能解决问题。 看似.mp4文件,应该有不同的编码方式(没研究过) 其次只有迅雷看看能打开这类视频(期间还要自动下载解码器) 于是想到转码,下载格式工厂也

2015-08-05 13:58:07 7860

原创 算法导论--动态规划(0-1背包问题)

背包问题小偷发现了n个商品,第i个商品重量为wiw_i,价值为viv_i。小偷希望尽量拿走价值高的商品,但是他的背包只能容纳W重的商品。求如何取舍这些商品? 由于对一个商品,要么被拿走要么不被拿走,所以被称为0-1背包问题。 我们如果采取枚举法进行比较,将会有2n2^n个情况,算法复杂度与n呈指数关系。 下面分析背包问题的性质:动态规划最优子结构令xix_i=1,表示第i个商品被拿走,xix_

2015-06-20 10:12:38 8680 2

原创 算法导论--贪心算法与动态规划(活动选择问题)

活动选择问题有一个教室,而当天有多个活动,活动时间表如下:找出最大兼容活动集!活动已按结束时间升序排序. 动态规划采用动态规划需要满足两个条件:1.最优子结构2.子问题重叠 令SijS_{ij}表示在aia_i结束后和aja_j开始前活动的集合,假定AijA_{ij}为活动集合SijS_{ij}的最大兼容子集,其中包含活动aka_k。问题变成求SikS_{ik}与SkjS_{k

2015-06-19 11:21:16 4589

原创 算法导论--动态规划(最长公共子序列)

最长公共子序列问题(LCS)给定两个序列X=⟨x1,x2,x3...xm⟩X=\left和Y=⟨y1,y2,y3...xn⟩Y=\left,求X和Y的最长公共子序列。 例如:X=⟨A,B,C,B,D,A,B⟩X=\left,和Y=⟨B,D,C,A,B,A⟩Y=\left,的最长公共子序列为⟨B,C,B,A⟩\left,长度为4; 对于此问题,可以采用暴力求解的方式来比对,即穷举出X的所有子

2015-06-05 11:12:33 3633

原创 算法导论--动态规划(矩阵链乘法)

矩阵链乘法问题给定一个n个矩阵的序列⟨A1,A2,A3...An⟩\langle A_1,A_2,A_3...A_n\rangle,我们要计算他们的乘积:A1A2A3...An A_1A_2A_3...A_n,由于矩阵乘法满足结合律,加括号不会影响结果,但是不同的加括号方法,算法复杂度有很大的差别: 考虑矩阵链:⟨A1,A2,A3⟩:\langle A_1,A_2,A_3\rangle,三个

2015-06-03 13:34:18 11662 2

爬虫淘宝页面图片,exe文件

本工具通过输入淘宝网页地址,可自动下载该页面下的所有图像并保存到本地save文件夹。

2017-03-21

LZW压缩算法

LZW完整压缩/解压缩算法,可以直接对文件操作!VS2013编译通过!

2015-12-20

电影字幕遮挡软件

学英语的利器,可以把中文字幕的遮挡起来,学习英文听力!

2015-11-22

OpenCV+MFC制作视频播放器

包括整个工程的源代码,在OpenCV2.4.3+VS2008平台编译通过。

2015-11-10

【特征匹配】Harris原理与例程

环境vs2008+opencv2.4.3,Harris原理PPT与源码

2015-09-19

MFC定时自动关机(源码)

MFC做的小程序,实现电脑定时自动关机.饱满的界面显示,卡哇伊

2014-12-03

Effective.C++中文版

这本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,C++是真正程序员的语言,背后有着精深的思想与无与伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮助您跨越C++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的C++程序员。

2014-12-03

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

TA关注的人

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