FlyingPenguin
Leaning. Thinking. Doing.
摘要: GOPATH是Go的一个系统变量,设置这个是为了指定Go的workspace. Find more in below page. https://github.com/golang/go/wiki/SettingGOPATH 设置$HOME/go/bin到当前进程的系统运行目录. Find more 阅读全文
posted @ 2017-07-22 16:08 FlyingPenguin 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 今天练习算法,在leetcode上做了一道练习,照着上面的分析写了下面的代码,编译执行也都没有问题,在这里写写。这里采用二叉树的先序遍历方式作为序列化和反序列化的主要思路,对空的子树用'#'进行记录。在序列化的时候,使用递归进行先序遍历,递归执行到空节点,则保存'#'并返回;否则记录当前节点的值,并... 阅读全文
posted @ 2015-03-01 15:17 FlyingPenguin 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 最近在工作中写的一个网页版的CheckboxTree控件,使用javascript完成,没有使用jQuery等框架。下面是使用该控件的例子,/** * renderTo: 要放置新建的checkbox树的div的ID. * data: 新建checkbox树使用的数据,以三元组[id, paren... 阅读全文
posted @ 2014-12-07 14:54 FlyingPenguin 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 1. Git是分布式版本控制系统,相对的,CVS、SVN都是集中式的版本控制系统;2. Git安装(Linux)1) 使用$ git查看当前系统是否安装了git;2) 如果当前系统还没有安装git,在Debian或Unbuntu下,可以使用命令$ sudo apt-get install git 完成git的安装;3) 如果是其他Linux版本,先从Git官网下载源码,解压然后依次输入:1 $ ./config2 $ make3 $ sudo make install4) 安装完成后,进行设置,在命令行输入:1 $ git config --global user.name “Your nam 阅读全文
posted @ 2014-03-05 16:01 FlyingPenguin 阅读(1093) 评论(2) 推荐(1) 编辑
摘要: 1. 目的把一副图片顺时针旋转任意角度θ。2. 分析假设有如下(w*h)大小的图片,用黑色坐标系标注,原图在该坐标系下的各点也用黑色标识。在数字图像处理中,一副图片默认的原点是左上角的端点,例如原图中的O点。如果用该点为对称点进行旋转,则在旋转角度过大的情形下,会使旋转后的图片大部分甚至全部都落在当前区域之外,由此造成区域的重新计算,以及映射坐标的重新计算。例如,如果将原图以O作为对称点进行顺时针旋转90度,则整个图片已经全部处于当前区域之外,当然,可以通过三角计算得出各顶点的坐标,但是为了得到最终的结果,还是要进行坐标平移,平移之后还要进行新顶点坐标的计算,不过并不能说明不可行,只是步骤不够 阅读全文
posted @ 2014-02-22 23:54 FlyingPenguin 阅读(2027) 评论(1) 推荐(0) 编辑
摘要: 这是第三篇,也是该系列的最后一篇,先看样图。图1 样图看到上面这张图,最头疼的就是那两条一横一竖两条干扰线了,前前后后想了很久,最后有了想法。1. 干扰线识别对于这两条干扰线,关键就是怎么看待这两条线了,用什么样的办法进行去进行建模,用来"逼近"这两条线。在观察了很多样本之后,得出下面的结论:干扰线本身可以看作是一个连续函数的图像,可以这么做的理由是一条干扰线是一个整体,并且大多是手工造成或者由随机变量生成,这样做的结果也使得我们可以使用连续函数的图像对其进行拟合,再根据连续函数的性质,由此对于干扰线而言,可以将一条干扰线看作若干条宽度为1的竖线(或者宽度为1的横线)组合起 阅读全文
posted @ 2014-01-15 23:29 FlyingPenguin 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 这是验证码识别的第二篇,先看一下样图吧,就是下面那张。看到这张图片,直观上就知道比第一篇中的要简单,这个“简单”用语言来描述,可以得到下面的几条结论:1. 图片中的字符边界比较清晰,并且单个字符的内容比较单纯;2. 虽然字符间有粘连,但是绿色边界围住的白色区域没有粘连,并且颜色一致,可以通过找连通分量的办法把字符分离出来。通过上面的分析,接下来的事就很简单了。我觉得编码很简单,只看编码不可能写出好东西来,只有领会思路,理解方法才能触类旁通。好了,下面就是接下来的步骤:1. 使用合适的阈值,对图片进行二值化处理;2. 使用BFS找出所有颜色为白色的连通分量;3. 因为图片在二值化之后,底色为白色 阅读全文
posted @ 2014-01-13 22:25 FlyingPenguin 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 因为工作的关系,我在去年下半年做了几个验证码识别的项目。做完之后,觉得其实验证码识别并不是什么很困难的项目,只要能针对要识别的图片进行内容结构上的分析,将内容分成几个部分,针对不同部分用好的对策进行处理,把图片有意义的内容(例如数字或者字符)分离出来。最后使用一些类似K近邻或者相似度的办法,和手工做好的模板进行匹配,对于国内网站的验证码,大都可以识别出来。当然,我写这些文章的目的,并不是想教别人用爬虫去爬别人的暗网数据,也不是想教别人写抢票的工具,我只是针对这一类问题,记录一下自己工作中用到的方法和经验。这些方法,对于文本图像复原和损毁书籍的保护同样适用,虽然我现在还没有机会接触到这方面的工作 阅读全文
posted @ 2014-01-11 22:41 FlyingPenguin 阅读(651) 评论(0) 推荐(1) 编辑
摘要: DescriptionCyael is a very gifted girl who loves Magic (she even reached the finals on a very famous tournament in Byteland ;) ) and Computer Science. As we know, CS is a very vast subject and Cyael learns what she can, little by little, by reading the editorials of codechef.com, her favourite progr 阅读全文
posted @ 2013-11-10 15:57 FlyingPenguin 阅读(228) 评论(0) 推荐(0) 编辑
摘要: DescriptionA new school in Byteland is now in the process of renewing some classrooms with new, stronger and better chairs, so that the students can stay still and pay attention to class :)However, due to budget and logistic reasons, it's only possible to carry a chair at a time to the classroom 阅读全文
posted @ 2013-11-10 15:11 FlyingPenguin 阅读(172) 评论(0) 推荐(0) 编辑