- 博客(55)
- 资源 (14)
- 收藏
- 关注

原创 python 中文乱码问题
你要是碰到该问题了,并且google了,那么估计你已经快无奈了。希望下面的说明对你有用。本文主要说明如何从网站获取页面,并且如何查找页面中的中文字符。实验中的平台为python 2.7 。python2.7 太直接了,操作系统给它什么格式编码的字符串,它就接收啥格式的字符串,默认的格式与你使用的格式不同,因此,各种错误出现了。解决方法:1.知道系统所使用的编码格式2.
2013-02-15 17:43:27
25291
原创 使用pycurl进行web提交
之前使用python提交数据到服务器时都是采用自带的urllib库。前一段时间登录某Cas系统时,总是莫名的失败。失败的原因好像是cookie的问题,各个页面需要共享cookie。尝试了多个给urllib设置cookie的方法,还是没能成功。后来,试了pycurl,竟然成功了,那就使用pycurl吧。(很抱歉,我没能追查出为什么采用urllib2没有成功,也没有彻底研究出为何pycurl能够成
2013-02-15 14:31:53
14720
原创 使用python以及工具包进行简单的验证码识别
闲话休提,直接开始。原始图像 Step 1 打开图像吧。im = Image.open('temp1.jpg')Step 2 把彩色图像转化为灰度图像。彩色图像转化为灰度图像的方法很多,这里采用RBG转化到HSI彩色空间,采用I分量。imgry = im.convert('L')灰度看起来是这样的 Step 3 需要把图像中的噪声去除掉
2013-01-01 20:19:52
45577
原创 带有cookie的数据提交 python
上一次写如何给QQ钓鱼网站提交数据时,提供了一个GetWeb函数,哪个函数可以get数据也能post数据。但是,如果是一系列操作,操作中需要cooke支持,哪个函数就不方便了。因此,给出一个更新版# -*- coding: utf-8 -*- import urllibimport urllib2import cookielibfrom urllib2 import URLE
2013-01-01 16:31:40
4094
转载 祛除验证码中的线条 python
作者: ubunoon 来源: 博客园 发布时间: 2011-02-16 22:55目前不少系统的验证码做得越来越复杂,人眼都难以识别,尤其是QQ之类的验证码,想要识别,太难了。现在有这样一个验证码:一般的验证码识别,都是先进行前处理,然后分割,在进行识别。这个验证码没有其他噪音,但存在一条横穿的曲线干扰,并且验证码中字体是粘连在一起的。如果不将干扰
2013-01-01 14:42:35
5476
2
原创 随机抽样一致算法(RANSAC, Random Sample Consensus )
之前觉得RANSAC算法挺复杂的,这几天突然就理解了。RANSAC算法是一种通过采样集合S,以及已知的数据模型,确定模型参数的方法。该算法主要用于集合S中存在野值时模型参数的求解,对于不存在野值的情况,该方法同样适用。算法流程如下:随机的从S中选择s个数据点,s是刚能求解模型参数的点个数。并求解一组模型参数。使用求解的模型参数,重新检验S中的点。对于误差在t内的点,记录点数。对于点
2012-11-27 11:40:44
4782
原创 ubuntu 内核编译
一、下载源代码和编译软件的准备 下载内核源代码:http://www.kernel.org/ 安装有关编译程序。安装make ,gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list 文件。有关命令:$sudo apt-get install build-essential kernel-
2012-11-09 21:01:49
1414
转载 eclipse.ini配置
eclipse在配置时,出现了 "failed to create the java virtual machine"的错误,有必要查看一下配置参数的具体意义。找到了下面的资料。文章如下配置参数为 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M请问:1. 各参数的含义是什么?2. 为什么有人将-
2012-11-08 11:03:19
1059
原创 C++使用札记
1. const对象只能调用类的const方法。因此类中的方法如果不修改类的内容一定要用const修饰,否则当对象是const对象时,将无法调用该方法。
2012-11-06 10:15:50
1082
原创 Beam搜素算法
Beam搜素算法的伪代码(Beam Search Algorithm)Beam算法是干什么的?他是搜索算法。大家知道,搜索算法可谓万能算法,问题只要有解,使用搜索算法在问题的解空间中搜索解,总可以找到问题的解。典型的搜索算法使用open表记录待搜索的状态,close表记录已经考察过的状态。BEAM算法中使用一个容量受限的open表,这里称作BEAM存储待搜索状态。具体算法如下,请看伪代码:
2012-10-31 19:43:31
13585
原创 C++解惑整理
有人说学好了C,然后学C++很容易。因为C++是C的超集。并且到处流传着N天精通C++。我是没有那样的智慧了。c++的许多概念很多年了,还不熟悉。面向对象的思想一直难以建立起来。设计模式也不甚了解。c++的学习还得慢慢来。下面整理一些C++的知识。C++中智能指针的设计和使用C++中虚函数工作原理和(虚)继承类的内存占用大小计算虚函数和纯虚函数的区别C++中的抽象类以及接口
2012-10-30 10:42:03
1432
原创 求链表的节点个数 链表可能有环
单向链表的长度定义为链表中的节点个数。如果链表中没有环则用如下算法链表节点定义如下struct node{ int v; node *next;};算法如下/*返回链表的长度链表为空 返回0*/size_t listLen(node * p){ size_t num = 0; while (p!=NULL) { num++; p = p->n
2012-10-29 22:52:11
3328
原创 计算单向链表的的长度,有可能有环存在
单向链表的长度定义为链表中的节点个数。如果链表中没有环则用如下算法链表节点定义如下struct node{ int v; node *next;};算法如下/*返回链表的长度链表为空 返回0*/size_t listLen(node * p){ size_t num = 0; while (p!=NULL) { num++; p = p->next;
2012-10-29 22:50:59
6390
7
原创 两个链表的第一个公共节点
已知有两个链表,他们可能相交于某一点,求出该点。方法1.对于第一个链表,每访问一个节点,对该节点做标记。访问第二个链表,如果该元素已经访问,则第一个这样的元素就是所求点。由于两个链表都访问了一遍,因此时间复杂度O(m+n),空间复杂度O(m)或O(n)方法2.我们定义节点的距离为节点到链表开始所经过的节点数。如果两个链表长度相同,则相交节点其在两个链表上的距离一定相等。对于长度不同的两
2012-10-29 22:00:35
6633
原创 等概率数字筛选问题
如何等概率的从N个元素中选取出K个元素?从1....n中随机输出m个不重复的数。(迅雷2011.10.21笔试题)算法1knuth(int n, int m){ for (int i=0; i<n; i++) { if ( rand_n()<m ) // rand_n()为生成[0,n)这个区间内的随机数
2012-10-29 16:22:53
4365
1
原创 设计模式:单件模式
参加了多场笔试,在笔试题目中偶尔会问什么单件模式。在网上搜了之后了解到这是设计模式中的一种设计方法。单件模式可用于消除全局这样的需求。Q.什么是单件模式?A.单件模式是一种用于确保整个应用程序中只有一个实例,且这个实例所占资源在整个应用程序中是共享时的程序设计方法。Q在面向对象中如何设计出只有一个实例的对象呢?A.每个对象的产生都要调用构造函数,对构造函数进行限制有可能能达到要求。
2012-10-25 11:52:49
1508
原创 判断一个数字序列是BST后序遍历的结果
相传此乃网易二面题要求现场手写代码判断一个数字序列是BST后序遍历的结果。来源1来源2如图所示 对于后续遍历的排序二叉树应具有上面的一个不等式性质 以及 根节点为最后一个节点的性质因此代码如下//序列array有n个元素//如果这n个元素是二叉排序树的后续遍历结果 返回true//否则 返回falsebool isBST(int * array, size_t
2012-10-21 17:25:57
3896
原创 面试:实现内存复制函数
面试中面试官经常会让写程序,根据题目的难度会在算法和编程习惯上各有侧重。比如写一个memcpy函数,这个题算法简单明确,因此重点考察编程习惯、工程思想。该题目的算法如下0.1void memcpy(void *dst, void *src, int count){ while(count--) { *dst = *src; dst++; src++; }}问
2012-10-19 15:39:56
15058
1
原创 可恶的QQ钓鱼网站
此处省略N字,总之,我的朋友竟然在QQ钓鱼网站上输入了账号和密码。对他进行安全教育后觉得对钓鱼网站也的做点什么。钓鱼网站如图仅有账号和密码,那我就多提交点用户名密码上去吧。表单挺简单的用这个代码提交数据# -*- coding: utf-8 -*- import urllibimport urllib2from urllib2 impor
2012-10-16 16:00:01
10761
2
转载 win7下设置 WiFi AP
开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让计算机变成无线路由器。实现共享上网。1、以管理员身份运行命令提示符:“开始”---在搜索栏输入“cmd”----右键以“管理员身份运行”运行命令:netsh wlan set hostednetwork mode=allow ssid=MyPCAP key=88432700
2012-08-19 17:47:01
7921
转载 win7 去快捷方式箭头
其实有个小箭头也没什么不好的,可以让我们立即分辨出它是快捷方式还是文件,当然如果非要去掉也是可行的。目前比较完美的解决办法:用一个透明的图标文件替换掉那个小箭头,从而达到去除图标上小箭头的目的,具体操作方式如下。先找一个全透明的ico图标,保存到C:\Windows文件夹中,文件名为Empty.ico(名字和路径都可以自定义),然后导入以下注册表信息(将内容保存为reg文件再双击运行即可),
2012-08-19 16:58:03
1254
转载 3389上的ipv6 -使用ipv6进行远程登录
1.不知道什么是远程登录的自己百度或者直接绕过。这里不做科普。2.系统要可以使用IPv6,并且以之前可以使用远程登录3.本人仅做了从xp登录到win7,以及win7登录到xp的测试。测试成功。本文做如下约定 要登录的远程计算机称作服务器,本地的计算机称作客户端具体使用方法:服务器端设置打开命令行 输入如下命令netsh interface portproxy
2012-08-19 16:48:20
6948
原创 vs 保存 BitMap
有BitMap对象 需要保存到文件 保存为bmp格式网上找到的很多方法是自己向文件中写文件头、文件标记、文件数据…… 完全自己生成了bmp文件。其实还有简单方法BitMap对象继承自 Image对象。而Image对象具有Save方法。这里直接调用BitMap的sava方法即可,简单、高效。本人对该操作进行了简单封装 如下int GetEncoderClsid(const W
2012-05-16 12:16:23
1218
原创 tiff库使用2 常用函数介绍
打开tiff 读文件 ptiff = TIFFOpen("E:\\数据\\还原图像\\HW_00001.tif", "r");打开tiff 写文件 ptiff = TIFFOpen("E:\\数据\\还原图像\\HW_00001.tif", "w");如果是创建新tiff文件 建议使用CreateTiff 见上 设置Tiff标记TIFFSetField(ptiff, TIFFTAG
2012-04-18 15:35:27
3210
原创 tiff库的使用1 raw转tiff
opencv对tiff的保存只做了简单的封装。使得在raw转为tiff时 有些功能没法实现。比如设置数据压缩方式本文使用tiff库来实现raw到tiff的转化流程如下下载tiflib源码包tiff-4.0.1.zip 解压到d:盘 tiff-4.0.1下打开控制台 切换当前目录到tiff-4.0.1找到vs2008的vcvars32.bat脚本 [在VS2008\VC\
2012-04-18 15:18:13
7353
3
原创 syslink WRH54G 板砖 修复
syslink WRH54G刷机失败 导致ping不通,web管理页面无法打开。修复原理:按住Reset开机可以让路由器进入Recovery Mode,这个时候可以通过tftp注入一个可用的Firmware,用来替换不能用的,或者没刷完整的Firmware。流程设置电脑端ip 192.168.1.2 子网掩码255.255.255.0 网关 192.168.1.1拔掉路由器上所有
2012-03-14 09:37:48
3308
原创 windows OpenCV 2.3.1 Python 2.7配置
1 .下载 OpenCV 2.3.1 。文中下载了OpenCV-2.3.1-win-superpack (大概124MB,解压后1G多)。他不需编译,使用方便 下载地址 2. OpenCV-2.3.1-win-superpack.exe是自解压文件,直接运行。即可解压。默认解压到opencv文件夹里。3.下载numpy。opencv的python版需要该模块。下载页面在这里 注意,下载和P
2012-02-20 22:05:49
27420
1
原创 使用python 提取html文件中的特定数据
python提供了SGMLParser类用于html文件的解析。用户只需从SGMLParser类继承子类,并在子类中对html文件做具体处理。例如 具有如下结构的html文件感兴趣内容1感兴趣内容2……感兴趣内容n内容1内容2……内容n我们尝试获得'感兴趣内容'对于文本内容,我们保存到IDList中。可是如何标记我们遇到的文本是感兴趣的内容
2012-02-19 19:01:34
31663
原创 从自定义对话框 继承出新的子对话框
有时候,多个对话框有许多共同的控件并执行的操作类似。这里可以提取这些共同控件,生成一个基础对话框以及对应的基础类。后面其他的对话框都可以从这个基础对话框继承控件以及对控件的操作,从而实现代码复用。一下为操作流程示例。 新建的一个基于对话框的工程。到底是基于对话框还是view不重要。这里使用对话框仅仅给操作提供一个展示平台。在对话框上添加两个按钮 并添加其响应函数,用于
2012-01-14 11:56:01
4671
原创 VS2010 VC++目录已被否决?
问题引入 下载了一个开源项目RTMP Server,对齐编译时提示没有找到openssl/bn.h文件。于是下载了最新的openssl(openssl-1.0.0d)后,对openssl编译。生成了头文件目录inc32还有库文件目录out32dll。 现在需要把编译好的库引入工程。 当工程比较简单的时候可以在每个项目的属性中设置include路径。但是要是这个工程里面
2011-06-21 11:18:00
11154
1
原创 自定义类型大小计算 内存对齐
笔试的时候经常遇到问一个结构体大小的问题。个人觉得这种考题很撤d。结构体大小于编译器和编译参数有关。在不标明编译器和编译参数的情况下,这个大小是无法确定的。本人自己用VC++6.0比较多,本想找vc6.0的官方资料,可惜没有找到。一下是自己总结的一些结论。经过测试,没有发现例外。但这并不能说明结论是正确的。请大家留意。 1. 变量按声明顺序在内存中排列
2011-06-03 12:15:00
2003
原创 C++中 虚函数中的默认参数问题
当通过指针调用一个对象的方法时,如果该方法是虚函数,则实际调用的是该实例的方法。当缺省参数和虚函数一起出现的时候到底用哪个默认值呢?虚函数是动态绑定的,但是为了执行效率,缺省参数是静态绑定的。也就是 指针是哪种类型,就调用该类型对应的类中,该函数定义时的缺省值。#include using namespace std;class A{public: virtual void out(int i = 1) { cout out(); p->out(3); p = &b
2011-05-18 22:50:00
10540
原创 静态库 动态库 的封装以及使用 (个人笔记)
静态库 动态库 的封装以及使用 (个人笔记)静态库静态库会被编译到可执行文件中,成为可执行程序的一部分。这样会导致可执行程序体积增大。好处是不会出现找不到DLL这样的错误。静态库建立新建工程 static lib编译保留 lib文件和.h文件使用:#include "..//test.h" //包含库的头文件#pragma comment(lib,"..//deb
2011-05-12 21:13:00
3080
原创 vs2010 使用boost库 (二) 使用Boost libraries
前面已经简单的使用了boost库,但是如果想要使用 Boost.FilesystemBoost.GraphParallelBoost.IOStreamsBoost.MPIBoost.ProgramOptionsBoost.Python (see the Boost.Python build documentation before building and installing it)Boost.RegexBoost.SerializationBoost.SignalsBoost.SystemBoost.T
2011-04-22 11:30:00
6742
2
原创 vs2010下 boost库的使用笔记(一)
刚装好的vs2010。下载boost_1_46_1库http://www.boost.org/users/download/。我把它解压缩到了E:/mylib/boost_1_46_1下面。在vs上面 文件>新建 > 项目…在左边的已安装模板中选Visual C++ > Win32.然后再右边的面板中选Win32控制台应用程序。下面的名称输入 example 然后 确定 完成。在项目> example属性… >配置属性 >C/C++ >常规> 附加包含目录 输入Boost的目录路径我这里是E:/mylib
2011-04-22 09:48:00
3702
原创 如何用3个2表示任意整数?
如何用3个2表示任意整数? 当可以使用任何数学运算情况下,有一个很流氓的算法: 看到了么?该式的值等于根号的个数。 也许你想那么3个3应该也可以,实际不可以。因为开三次方的开方符号上面必须还有个3…… 呵呵 娱乐一下
2010-09-27 14:33:00
1926
转载 VC调试入门
<br />作者:阿荣<br /><br /> 概述<br />调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。<br />这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。<br />本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。<br /> <br /> 设置<br />为了调试一个程序,首先必须使程序中包含调试信息。
2010-08-25 21:44:00
656
转载 C语言宏的高级应用
关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP) / do{ if (EXP) / fprintf(stderr, "Warning: " #EXP "/n"); } / while(0)那么实际使用中会出现下面所示的替换过程:WARN_I
2010-08-25 00:57:00
894
验证码识别程序
2013-01-01
tiff 库 4.0.1
2012-04-18
从自定义对话框继承出新的子对话框 step3
2012-01-14
从自定义对话框继承出新的子对话框 step2 源码
2012-01-14
CodeIgniter中文用户手册 2.0.0
2011-10-10
数字图像处理(matlab版) 源码part1
2011-03-15
MySQL 5.1参考手册
2010-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人