如何识别高级的验证码
admin | 取词 | 2014-01-22
一、验证码的基本知识
1. 验证码的主要目的是强制人机交互来抵御机器自动化攻击的。
2. 大部分的验证码设计者并不得要领,不了解图像处理,机器视觉,模式识别,人工智能的基本概念。
3. 利用验证码,可以发财,当然要犯罪:比如招商银行密码只有6位,验证码形同虚设,计算机很快就能破解一个有钱的账户,很多帐户是可以网上交易的。
4. 也有设计的比较... [阅读全文]
tesseract OCR锻炼新字体对图片的预处理和要求
admin | 取词 | 2014-01-22
tesseract OCR训练新字体对图片的预处理和要求
同tesseract OCR识别对图片有要求一样,在训练新的字符集或新的字体时,对图片也有一定要求,符合要求的图片,能大大提高训练的效率。
在图像处理方面,去除噪声,使训练的字符图片尽量连贯、清晰。
其他方面,通常的要求如下:
1. 在一幅图片内,字体统一,决不能将多种字体混合出现在一幅训练图片内;如... [阅读全文]
c++ 正则表达式
admin | 正则 | 2014-01-22
正则表达式是常用的一种方法。比较有名的类库是boost,但是这个类库在重了。所有就像找一些轻量级的类库。
后来发现准标准的库tr1已经很方便了,微软vs2008 sp1 以上版本都支持了。所有就直接用它很方便了。
而且支持unicode编码,还是很方便的。
例子:
#include <iostream>
#include <string>
#include <regex>
int _tmain(int arg... [阅读全文]
正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
admin | 正则 | 2014-01-22
匹配中文:[\u4e00-\u9fa5]
英文字母:[a-zA-Z]
数字:[0-9]
匹配中文,英文字母和数字及_:
^[\u4e00-\u9fa5_a-zA-Z0-9]+$
同时判断输入长度:
[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}
^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:
^ ... [阅读全文]
HBITMAP 灰度
admin | win32 | 2014-01-21
C++
//灰度处理
#define GET_GRAY_VALUE(x) 0.110*GetBValue(x)+0.588*GetGValue(x)+0.302*GetRValue(x)
HBITMAP CCatchScreenDlg::GetGrayBitmap( HBITMAP hResBitmap ,int& nWhiteCount,int& nBackCount )
{
nWhiteCount=0;
nBackCount=0;
ASSERT(hResBitmap);
HBITMAP hDesBitmap=NULL;
BITMAP bm;
... [阅读全文]
write DIB
admin | win32 | 2014-01-21
C++
static BOOL WriteDIB( LPCTSTR szFile, HANDLE hDIB)
{
BITMAPFILEHEADER hdr;
LPBITMAPINFOHEADER lpbi;
if (!hDIB)
return FALSE;
CFile file;
if( !file.Open (szFile, CFile::modeWrite | CFile::modeCreate))
{
return FALSE;
}
lpbi = (LPBITMAPINFOHEADER) hDIB;
int nColors = 1... [阅读全文]
DDB To DIB
admin | 取词 | 2014-01-21
C++
HANDLE CGraphView::DDBToDIB( CBitmap& bitmap, DWORD dwCompression )
{
BITMAP bm;
BITMAPINFOHEADER bi;
LPBITMAPINFOHEADER lpbi;
DWORD dwLen;
HANDLE hDIB;
HANDLE handle;
HDC ... [阅读全文]
MFC 热键设置 OnHotKey方法和Accelerator方法的设置
admin | win32 | 2014-01-21
在写MFC程序时,如果想自定义热键比如ALT+S可以采用下面两种方法:
方法一:定义热键的消息响应函数:OnHotKey
定义系统全局热键:
1、首先在.h文件中添加消息响应函数声明
afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);
2、关联消息及响应函数
BEGIN_MESSAGE_MAP()
ON_MESSAGE(WM_HOTKEY,OnHotKey)
END_MESSAGE_MAP()
3、在初... [阅读全文]
tesscallback.h(1011): error C2872: “remove_reference”: 不明确的符号
admin | 取词 | 2014-01-20
真正原因查明:\tesseract-ocr\include\tesseract\tesscallback.h(1011): error C2872: “remove_reference”: 不明确的符号。 引发的真正元凶是
#include “baseapi.h” 与
using namespace std;
在源码文件中出现顺序的问题,先 #include “baseapi.h” 后
using namespace std; 则OK, 如此可以避免名字的冲突!!!
[阅读全文]
QTextEdit 取词
admin | 取词 | 2014-01-15
C++
bool MyTextEdit::event(QEvent* event)
{
if (event->type() == QEvent::ToolTip)
{
QHelpEvent* helpEvent = static_cast<QHelpEvent*>(event);
QTextCursor cursor = cursorForPosition(helpEvent->pos());
cursor.select(QTextCursor::WordUnderCursor);
if (!cur... [阅读全文]