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... [阅读全文]
字样索引(Glyph Index)与字符之间的转换
admin | 取词 | 2014-01-14
本文是我研究针对复杂文本屏幕取词和动态翻译关键技术而写的日记(C语言)
马依尔江
首先我们必须要知道索引值(Glyph Index Value)和字符(Char)的关系。通常一个TTF字体中有很多字符,每个字符对应一个形状,有些字符的字符UNICODE码不一样,可是形状是一样的,也就是说不同的字符的形状有可能是同一个样的。所为字样索引就是字体中的那些形状的排序号。... [阅读全文]