Matlab与C++混编注记,通过C++运行matlab脚本处理数据。
PengChao
leetcode_75_SortColors的C++代码
这次击败了100%的C++编程者,题目比较简单,三路快速排(三指针)的解决方法。其实博主一开始还没有想到Follow Up中的计算-还原二次遍历法 :)。既然贴了eazy标签就不解释了,直接上代码。
leetcode_242_ValidAnagram高质量C++代码
这道题标签是eazy,可以排序判断字符串相等,但是只击败了33%的C++编程者,博主自然是不甘心的,于是采用统计词频,并且略施小计,一开始先校验长度,这样就击败了99%。:)
Leetcode_324_wigglySortII高质量C++代码
这道题是Google的面试题,参照WigglySortI,本质就是一个坐标映射,只是中位数有等号,映射时候需要小心,博主第一版代码直接用Sort排序,代码击败65.8%,然后参照大牛代码,使用三路快排,速度已经提起来了。和大牛的代码不同的是,大牛采用高大上的宏函数做坐标映射,博主比较笨,理解那个映射公式花了些时间,索性就用了第一版代码的坐标映射,单独写了一个for循环。大牛代码103ms,博主代码102ms,所以坐标映射部分开销是差不多的,可见代码核心还是在三路快排(三指针)上。
OpenCV3.1静态库和x86库下载及编译方法
下载
OpenCV自3.1起,不为windows提供编译好的静态库和x86版本库的下载,于是博主自己编译了VC12版本的静态库和x86库,提供下载。
leetcode_Palindrome Partitioning II笔记
Given a string s, partition s such that every substring of the partition is a palindrome. Return the minimum cuts needed for a palindrome partitioning of s. For example, given s = "aab"
, Return 1
since the palindrome partitioning ["aa","b"]
could be produced using 1 cut.
Intel IPP库配置教程
了解OpenCV的同学应该都对IPP加速有所耳闻,IPP库是Intel的加速库,其中集成了多种高性能的操作,基于CPU庞大复杂的指令系统,对程序做并行优化非常有帮助(有点类似于DSP上的数学库),相比之下,另一种并行加速方式openmp就显得捉襟见肘了。这篇博客将帮助我们配置IPP库。
leetcode_Combination Sum II笔记
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. Each number in C may only be used once in the combination. Note: All numbers (including target) will be positive integers. The solution set must not contain duplicate combinations. For example, given candidate set [10, 1, 2, 7, 6, 1, 5] and target 8, A solution set is: [ [1, 7], [1, 2, 5], [2, 6], [1, 1, 6] ]
leetcode_Next Permutation笔记
题意:找出比当前排序大一号的排序,如果当前排序就是最大排序,那么将它重拍成最小排序。
leetcode_4Sum笔记
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target. Note: The solution set must not contain duplicate quadruplets. For example, given array S = [1, 0, -1, 0, -2, 2], and target = 0. A solution set is: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]
实时超像素分割IER方法(CSEO方法)
这篇博客介绍博主事先的CSEO超像素分割方法,CSEO法是目前已知最快的超像素分割算法,可以在640*480*3大小的图像上达到38ms的速度(使用单核CPU@2.5GHz),并且分割区域数与时间无关,是目前超像素分割领域的state-of-art。
OpenCV内封装了主流的SLIC算法,当然,无法实时。这篇博客由于客观原因不提供源码、原理解释,只提供一些论文索引和博主的实验结果,仅供研究者参考。
博主使用Kinect摄像头采集图像数据,将采集的四通道数据转换为三通道数据,然后缩放至920*540(原图为1080p),采集图像和超像素分割在同一个线程中,最终速度为48ms,如果使用640*480,将算法部分从主线程中分离出来,达到论文中所说的38ms是可能的。
TensorFlow学习笔记(三)——Fetch与Feed
TensorFlow的基本数据单元是tensor(张量),如何讲tensor的值取出,又如何在运算过程中向tensor中传入值呢?Fetch与Feed是TensorFlow中关于数据存取的术语,博主就由代码来简要介绍下Fetch与Feed。
TensorFlow学习笔记(二)——基于图会话数学运算工具
TensorFlow使用图来表示计算任务,图中的节点被称之为op(operation的缩写)。TensorFlow程序通常被组织成一个构建阶段,和一个执行阶段。在构建阶段,op的执行步骤被描述成一个图。在执行阶段,使用会话执行图中的op(op就是节点)。简单的说,先给出描述,只在run()方法中执行操作。
Qt实现Metro风格界面:拖动无边框窗口
Qt的GUI功能非常灵活,Metro风格也越来越受欢迎,那么如何使用Qt实现一个Metro风格的界面?
有两点最重要:一是使用Metro风格的素材,二是加入Metro风格的控制。博主近期将之前写过的一个Metro风格的框架开源了,你只需要下载源码,继承QMetro类就可以实现自己的Metro风格界面了。首先,确保你的Qt版本在5.2以上,那么,我们开始吧。
线结构光法测量物体体积:轮廓法三维重建
这是博主两年前参加某比赛的作品,由于近期坑爹的激光课程要写结课论文,博主现在的研究跟光一毛钱关系都木有,于是就把这玩意整理成结课论文了,顺便把整理的内容节选一部分放在博客上,以供参见。
SyntaxNet:Neural Models of Syntax 自然语言神经网络框架
SyntaxNet由TensorFlow实现,本月Google正式开源了这一框架(GitHub),关于这一框架,我们可以参考相关论文。在准备完NPL的基础知识后,博主将在这篇博客介绍这篇论文:Global Normalized Transition-Based Neural Network。该架构的资料还来自谷歌研究博客。