文通识别核心库使用说明
- 格式:pdf
- 大小:406.17 KB
- 文档页数:14
文通快号通车牌识别系统——V4.2.7.0版OCX控件使用说明2012年12月修改历史2012年9月21日配置结构体中增加倾斜校正功能(bLeanCorrection)使用参考TH_PLATEID识别核心库说明文档.pdf2012年9月21日配置结构体中增加输出车牌的控制选项(nOrderOpt)使用参考TH_PLATEID识别核心库说明文档.pdf一控件说明:1.1 环境配置(1)Windows XP/2003/vista32操作系统;(2)ThplateDsp_WinTone.ocx配置文件:TH_PLATEID.dll 车牌识别核心文件;LPKernel.cfg ocx控件配置文件;mvavi.dll、MVAPI.dll 微视采集卡核心库。
(3)注册ThplateDsp_WinTone.ocx控件。
方法如下:点击“开始”——>“运行”,在弹出对话框中写入“regsvr32”,如图:然后左键点击ThplateDsp_WinTone.ocx直接拖动到regsvr32后面,点击“确定”弹出注册成功的提示,如下图:1.2 OCX CLSID :7BDB048F-ABAD-482F-A099-1638D91402121.3 OCX控件说明支持Directshow开发的视频采集卡均可用ocx控件开发单路视频识别;如果要用ocx 开发多路视频识别需使用微视V411采集卡。
二控件功能2.1 视频识别(1)识别结果包括:1)车牌号码;2)车牌颜色;3)车牌类型;4)车辆运动方向;5)车牌宽度;6)车牌识别可信度;7)识别时间。
(2)支持多路视频识别(加密锁分为1,2,4,8路)。
(3)支持高清视频。
2.2 图片识别(1)识别结果包括:1)车牌号码;2)车牌颜色;3)车牌类型;4)车牌宽度;5)车牌识别可信度;6)识别时间。
(2)支持单张图片识别多车牌。
(3)支持高清图片。
2.3 录像功能录制的视频文件为avi格式。
北京文通科技有限公司,是中文识别的全球领导厂商,具有深厚的技术储备。
文通快档通扫描识别系统,包含文档扫描、图像处理、ocr识别;条码识别;二代身份证识别;公文识别等功能,并提供识别结果的接口,方便用户直接调用。
一、软件功能
(1)文档识别功能
主要作用是普通文档的识别,转出TXT,RTF,EXL,PDF等格式,多用于档案管理软件、资源管理软件等系统集成。
(2)条码识别功能
主要作用是在整张扫描图像上找到条码区域,并进行条码识别,支持识别的条码种类包括一维码二维码种类有:code25、code39、code128、pdf417、datamatrix等。
(3)二代身份证识别功能
二代身份证扫描识别,将身份证正面、背面信息通过图像提取出来。
(4)公文识别功能
公文识别,题录自动提取技术,双层PDF技术,多用于政府公文快速处理。
(5)识别语言种类
中文识别、简体识别、繁体识别、日文识别、韩文识别、英文识别、多种语言和英文混排识别。
针对国内的少数民族语言识别市场,文通公司推出了:藏文识别、蒙文识别,
维文识别、阿拉伯文识别、哈萨克文识别、柯尔克孜文识别、朝文识别的少数民
族语言识别核心,也可以针对您的需求进行产品定制。
二、硬件组成
(1)快档通D300+
平板A4幅面扫描仪,8秒一页,平台扫描。
(2)快档通DSL3100
单面A4幅面高速扫描仪,每分钟18面,18页。
(3)快档通M1800
双面A4幅面高速扫描仪,每分钟40页,80面。
文通PC平台车牌识别系统产品说明书■关于文通北京文通科技有限公司是享誉国内外的OCR(光学字符识别)技术生产商、文档影像技术和应用解决方案提供商。
经过多年的创新与发展,文通科技现已成长为国内知名的高新技术企业,在全国十余个城市建立了分支机构,公司产品涉及多个领域。
在与清华大学的携手合作过程中,文通科技成功地将"国家863计划"项目成果——"文字图像识别技术TH-OCR"产业化,真正实现了TH-OCR技术与市场应用的完美结合。
文通科技以TH-OCR和手写识别技术为核心,研发出多项产品并提供多种行业解决方案,依靠完善的服务体系,拓宽了产品技术应用领域。
目前,文通科技已经拥有跨平台(包括Windows/Linux/Android/IOS及嵌入式平台)的智能图像处理、亚洲文字OCR、手写识别、二维条码识别等自有知识产权技术。
公司业务深入至金融保险、智能交通、税务、公共安全、政府等行业领域。
文通科技秉承以人为本的理念,不断培养和引入尖端技术及管理人才,并充分发挥人才优势,取得了丰硕的科技成果,在国内外信息化领域获得广泛认可,产品荣获包括国家科学技术进步二等奖在内的几十项国内外大奖,共取得四十余项软件著作权和多项专利,规范的现代化管理也使得文通科技顺利通过"ISO9000 质量体系认证"。
“源于清华,服务全球”,在创新的征途上,文通科技迈着锐意进取的步伐,凭借着领先的核心技术、精准的市场定位、优秀的产品及解决方案、完善的服务体系,文通科技将在信息化浪潮中发挥越来越重要的领军作用!■文通车牌识别技术系统采用清华OCR技术,融合了车牌定位、车牌字符切分、车牌字符识别等算法,使该系统具有识别效率高、速度快、适应性强、使用方便等优势,技术处于国际先进水平,在智能交通领域得到广泛的好评。
■系统优点:◆整车识别率高:白天识别率≥98,夜间识别率≥95%◆识别速度快:极致优化的车牌定位和识别算法,识别时间≤50毫秒◆支持牌照全:普通蓝牌、普通黄牌(单层)、双层黄牌、新式军车车牌、新式武警车牌、使馆车牌、农用车牌等各种规格汽车号牌◆识别功能全:文通车牌识别算法不仅能识别车牌号码,更能识别车牌颜色、车身颜色、车标类型等多种识别内容◆车牌宽度要求低:60-400像素宽度均可识别◆纯C编写,跨平台应用灵活◆售后服务完善◆专注于车牌识别SDK的研发:文通是专业的OCR产品技术厂商■规格参数:■应用领域◆电子警察系统◆治安卡口系统◆高速公路、城市道路出入口监控系统◆停车场管理系统◆高速公路、出入口收费系统北京文通科技有限公司BEIJING WINTONE SCIENCE & TECHNOLOGY CO., LTD地址:北京北四环西路9号银谷大厦1609室邮编:100190 电话:(010)62800286 62800253/52/51/50。
【c#】Tesseract-ocr3.0.2版本使⽤实例光学字符识别(OCR,Optical Character Recognition)是指对⽂本资料进⾏扫描,然后对图像⽂件进⾏分析处理,获取⽂字及版⾯信息的过程。
OCR技术⾮常专业,⼀般多是印刷、打印⾏业的从业⼈员使⽤,可以快速的将纸质资料转换为电⼦资料。
关于中⽂OCR,⽬前国内⽔平较⾼的有清华⽂通、汉王、尚书,其产品各有千秋,价格不菲。
国外OCR发展较早,像⼀些⼤公司,如IBM、微软、HP等,即使没有推出单独的OCR产品,但是他们的研发团队早已掌握核⼼技术,将OCR功能植⼊了⾃⾝的软件系统。
对于我们程序员来说,⼀般⽤不到那么⾼级的,主要在开发中能够集成基本的OCR功能就可以了。
Tesseract的OCR引擎最先由HP实验室于1985年开始研发,⾄1995年时已经成为OCR业内最准确的三款识别引擎之⼀。
然⽽,HP不久便决定放弃OCR业务,Tesseract也从此尘封。
数年以后,HP意识到,与其将Tesseract束之⾼阁,不如贡献给开源软件业,让其重焕新⽣--2005年,Tesseract由美国内华达州信息技术研究所获得,并求诸于Google对Tesseract进⾏改进、消除Bug、优化⼯作。
Tesseract⽬前已作为开源项⽬发布在Google Project(现已托管github),其项⽬主页在,3.0版本已经⽀持中⽂OCR,并提供了⼀个命令⾏⼯具。
创建成功后分别创建两个空的项⽬解决⽅案⽂件夹 WinformDemo 跟 TesseractWeb创建window窗体应⽤程序,使⽤ Nuget 添加 Tesseract ,搜索 tesseract-ocr ,现在最新版本是 3.2.0-alpha4,这⾥演⽰使⽤的是 3.0.2 稳定版。
如下图所⽰,选择所需要的版本安装即可。
安装完成后再项⽬中会添加如下两个⽂件夹图⽚上传参考:语⾔⽂件下载地址:我使⽤的是英语语⾔包下载后解压⽂件找到 tessdata 把它拷贝到你的项⽬中后台代码:private void button1_Click(object sender, EventArgs e){if (openFileDialog.ShowDialog() == DialogResult.OK){//PictureBox控件显⽰图⽚Image.Load(openFileDialog.FileName);//获取⽤户选择⽂件的后缀名string extension = Path.GetExtension(openFileDialog.FileName);//声明允许的后缀名string[] str = new string[] { ".jpg", ".png" };if (!str.Contains(extension)){MessageBox.Show("仅能上传jpg,png格式的图⽚!");}else{//识别图⽚⽂字var img = new Bitmap(openFileDialog.FileName);var ocr = new TesseractEngine("./tessdata", "eng", EngineMode.TesseractAndCube);var page = ocr.Process(img);label1.Text = page.GetText();}}}效果如下:可以看出没有⼲扰线的识别还是很准确。
开放搜索最佳实践1.2.最佳实践功能篇相关性实战分词、匹配、相关性、排序表达式针对目前若干用户遇到的搜索结果与预期不符合的问题进行统一详细说明,并以此为话题展开说明下OpenSearch在搜索效果方面的功能和后续一些工作方向。
首先,对于搜索来讲,最常见的有两种做法:数据库的like查询,可以理解为简单的包含关系;百度、google等搜索引擎,涉及到分词,将查询词根据语义切分成若干词组term(这个是搜索引擎重难点之一),通过term组合匹配给相应文档进行打分,根据分值排序,并最终返回给用户。
OpenSearch采用的方式与上述搜索引擎做法基本一致。
那这里就有三部分内容会影响搜索效果:1,分词方式;2,匹配方式;3,相关性算分。
我们来分别说下这三部分在OpenSearch上的行为和表现。
接下来,我们详细说明下各个字段的展现效果及适用场景,供大家参考。
分词方式 熟悉各类分词是本篇操作的前提,请务必先查阅 内置分析器 文档。
匹配方式原理分完词后得到若干term,如何召回文档,就涉及到匹配方式。
目前OpenSearch内部默认支持的是AND,即一篇文档中包含全部的term才能被搜索出来。
当然这是对同一关键词而言的,除此之外系统还支持多种匹配方式,如AND、OR、RANK、NOTAND以及(),优先级从高到低为(),ANDNOT,AND,OR,RANK。
举例案例问:我文档中包含“吃饭了”,我搜索“吃饭”、“吃饭了”都能召回,搜索“吃饭了吗”没结果?答:因为目前OpenSearch是要求全部的分词结果都匹配才能召回文档,上面的“吗”在文档中没有出现,所以无法召回。
但可以通过查询分析解决。
问:我只想查找某些词排在最前面的文档,比如以“肯德基”开头的文档;答:目前不支持位置相关召回。
相关性算分上面提到的都是跟召回相关的技术,召回文档之后,究竟文档如何排序就涉及到相关性。
目前OpenSearch有sort子句来支持用户自定义排序。
CSA数据库使用指南Cambridge Scientific Abstracts (剑桥科学文摘,简称CSA)。
Internet database Service (IDS) 是美国Cambridge Scientific Abstracts(CSA)公司发行,基于网络服务的文献信息检索系统。
CSA共有60多个数据库,覆盖学科包括:生命科学、水科学与海洋学、环境科学、计算机科学、材料科学以及社会科学。
其中外文社会科学方面所包括的数据为:ARTbibliographies Modern,ATLA Religion Database,BHI: British Humanities Index, Linguistics & language Behavior Abstracts AgeLine,ASSIA: Applied Social Sciences Index and Abstracts,ATLA Religion Database,EconLit,e-psyche,ERIC,Linguistics & Language Behavior Abstracts,PAIS International,Physical Education Index,Worldwide Political Science Abstracts,PsycINFO,Social Services Abstracts,Sociological Abstracts本库最大的特点:⑴每日更新,且一个检索策略式可同时检索多个数据库和相关的Internet资源;⑵可记录检索历史,也可为用户保存检索策略(半年时间),适合科研课题查寻文献之用。
一、检索方法华中科技大学校园内用户均可直接联通检索,采用IP地址限定用户范围,不需要帐号和口令。
使用该数据库时,请从华中科技大学图书馆主页“电子资源”上直接链接CSA检索系统。
1.选择检索主题领域(Select Subject Area to Search)数据库是按主题领域分为若干组,可选择某一个主题领域检索。
文通快号通车牌识别系统——V4.0.0.6版使用和编程接口说明2011年7月一、识别软件介绍TH-PlateID系列车牌识别软件是软件形式的汽车牌照识别产品,采用动态连接库(DLL),可嵌入到用户应用程序中实现车牌识别功能。
VC系列软件识别率高、速度快、极少占用系统资源,而且能够自动适应牌照大小,用户不必设定牌照的尺寸参数。
1.1 视频识别(1)视频识别识别结果包括以下内容:1)车牌号码;2)车牌颜色;3)车牌类型;4)车辆运动方向;5)车牌宽度;6)车牌识别可信度;7)识别时间。
(2)支持多路视频识别(加密锁分为1,2,4,8路)。
(3)支持高清视频。
1.2 图片识别(1)图片识别结果包括以下内容:1)车牌号码;2)车牌颜色;3)车牌类型;4)车牌宽度;5)车牌识别可信度;6)识别时间。
(2)支持单张图片识别多车牌。
(3)支持高清图片。
1.3 识别图片种类1)普通蓝牌;2)普通黑牌;3)普通黄牌;4)双层黄牌;5)警车车牌;6)武警车牌;7)单层军牌;8)双层军牌;9)使馆车牌;10)农用车牌。
1.4 相关文件1)LPKernelEx.dll 识别核心库;2)LPKernelEx.lib 动态lib文件;3)LPKernelEx.h 调用接口说明;4)TH_PLATEID.dll 相关文件。
二、识别软件函数调用过程(1)调用LPR_SetImageFormat设置识别图像格式。
必须在调用LPR_InitEx之前进行设置。
(2)调用LPR_InitEx初始化核心库;(3)调用LPR_SetPlateType设置识别的车牌类型。
此函数在调用LPR_InitEx 之后,调用LPR_RGB888Ex或LPR_FileEx之前调用。
(4)调用LPR_SetSpecialParameters设置夜间模式、识别阈值、省份默认值、单张图片识别的车牌个数。
此函数在调用LPR_InitEx之后,调用LPR_RGB888Ex或LPR_FileEx之前调用。
(5)调用LPR_RGB888Ex识别视频或调用LPR_FileEx识别图片;这两个函数均可循环调用。
(6)程序退出时调用LPR_UninitEx卸载核心库。
三、图像类型介绍(注意:必须根据车辆图片的实际情况设置正确的图片类型参数)3.1 静态图像数码相机拍摄的图像或者两场之间没有错位的帧图像。
例如:数码相机图像。
两场之间没有错位的帧图像:3.2 静止的帧图像从视频信号中采集的帧图像。
3.3 运动的帧图像由于车辆的运动,该图像通常奇场和偶场之间有错位。
例如:3.4 场图像从视频信号中采集的场图像。
由于只有一场,因此图像是扁的,在垂直方向上只有一半高度。
例如:四、函数说明4.1 LPR_SetImageFormat 设置图像格式BOOL WINAPI LPR_SetImageFormat(BOOL bMovingImage, BOOLbFlipVertical, int nColorOrder,BOOL bVertCompress, int nMinPlateWidth, int nMaxPlateWidth, BOOL bDwordAligned, BOOL bInputHalfHeightImage, BOOL bOutputSingleFrame, int nChannel=1);bMovingImage[in]:识别运动或静止图像。
bFlipVertical[in]:是否上下颠倒图像后识别。
nColorOrder[in]:图像格式,见说明6.4。
bVertCompress[in]:是否垂直方向压缩一倍识别。
nMinPlateWidth[in]:最小车牌宽度,以像素为单位。
nMaxPlateWidth[in]:最大车牌宽度,以像素为单位。
bDwordAligned[in]:是否四字节对齐。
bInputHalfHeightImage[in]:是否输入场图像。
bOutputSingleFrame[in]:是否只输出一个识别结果。
nChannel[in]:通道号。
此函数在调用LPR_InitEx之前进行设置,函数调用成功返回TRUE,否则返回FALSE。
4.2 LPR_SetPlateType 设置识别车牌类型BOOL WINAPI LPR_SetPlateType(BOOL bYellow2, BOOL bIndivi, BOOL bArmPol, BOOL bArmy2, BOOL bTractor, int nChannel=1);bYellow2[in]: 是否识别双层黄牌。
bIndivi[in]: 是否识别个性化车牌。
bArmPol[in]: 是否识别军牌。
bArmy2[in]: 是否识别双层军牌。
bTractor[in]: 是否识别农用车牌。
nChannel[in]: 通道号。
此函数在调用LPR_InitEx之后进行设置,函数调用成功返回TRUE,否则返回FALSE。
4.3 LPR_SetSpecialParameters设置夜间模式、识别阈值、省份默认值、识别车牌个数BOOL WINAPI LPR_SetSpecialParameters(BOOL bNight,int nImageplateThr,int nImageRecogThr, int nPlatesNum, char *LocalProvince, int nChannel=1);bNight[in]:是否是夜间模式。
nImageplateThr[in]:车牌定位阈值。
取值范围是0-9,默认为7nImageRecogThr[in]:车牌识别阈值。
取值范围是0-9,默认为5nPlatesNum[in]:需要识别车牌的最多个数。
LocalProvince[in]:默认省份。
可以为空值。
nChannel[in]:通道号。
此函数在调用LPR_InitEx之后进行设置,函数调用成功返回TRUE,否则返回FALSE。
4.4 LPR_InitEx初始化识别库BOOL __stdcall LPR_InitEx(int nChannel=1);nChannel[in]:通道号。
函数调用成功返回TRUE,否则返回FALSE。
4.5 LPR_UninitEx卸载核心库BOOL __stdcall LPR_UninitEx(int nChannel=1);nChannel[in]:通道号。
函数调用成功返回TRUE,否则返回FALSE。
4.6 LPR_FileEx识别图片文件BOOL __stdcall LPR_FileEx(char* lpszFileName, char *lpszPlateFile, TH_PlateResult* pResult, int &nRecogNum, TH_RECT *prcRange, int nChannel=1);lpszFileName[in]:待识别图片的路径。
lpszPlateFile[in]:识别出的车牌的保存路径,如果该参数设为NULL则不保存车牌图片。
pResult[in]:识别结果结构体。
nRecogNum[out]:实际识别到的车牌个数。
prcRange[in]: 识别范围,(0,0,0,0)识别整张图片,以像素为单位。
nChannel[in]:通道号。
支持BMP、JPG、TIF图像格式,函数调用成功返回TRUE,否则返回FALSE。
4.7 LPR_RGB888Ex识别内存图像int __stdcall LPR_RGB888Ex(unsigned char *pImg, int nWidth, int nHeight, TH_PlateResult* pResult, int &nRecogNum, TH_RECT *prcRange, int nChannel=1);pImg[in]:指向内存中图像的指针,格式为RGB888,YUV420,YUV422,格式在LPR_SetImageFormat函数中指定。
nWidth[in]:图像的宽度,以像素为单位。
nHeight[in]:图像的高度,以像素为单位。
pResult[in]:识别结果结构体。
nRecogNum[out]:实际识别到的车牌个数。
prcRange[in]: 识别范围,(0,0,0,0)识别整张图片,以像素为单位。
nChannel[in]:通道号。
识别连续视频内存图像和单张内存图像。
函数调用成功返回TRUE,否则返回FALSE。
4.8 LPR_GetImageBuf 识别连续视频流时获取识别到车牌的帧内存。
BOOL __stdcall LPR_GetImageBuf(unsigned char *&pImageBuf, int &nWidth, int &nHeight, int &nSize, int nChannel=1);pImageBuf[in,out] 输入一个BYTE类型指针,不需要分配内存;输出图像的指针。
nWidth[out] 图像的宽度,以像素为单位。
nHeight[out] 图像的高度,以像素为单位。
nSize[out] 图像的大小,以字节为单位。
nChannel[in] 通道号。
在LPR_SetImageFormat的参数bOutputSingleFrame设为TRUE,且调用函数LPR_RGB888Ex识别连续视频流时,用此函数获取识别到车牌的帧内存。
函数调用成功返回TRUE,否则返回FALSE。
五、数据结构说明5.1 TH_RECT 车牌区域结构体typedef struct TH_RECT{int left;int top;int right;int bottom;}TH_RECT;5.2 TH_PlateResult识别结果结构体typedef struct TH_PlateResult{char license[16]; //车牌号码char color[8]; // 车牌颜色int nColor; // 车牌颜色序号int nType; // 车牌类型int nConfidence; // 整牌可信度int nBright; // 亮度评价int nDirection; /*车牌运动方向,0 unknown, 1 left, 2 right,3 up ,4 down */TH_RECT rcLocation; //车牌区域int nTime; // 识别所用时间unsigned char nCarBright; //车的亮度,保留unsigned char nCarColor; //车的颜色,保留char reserved[100]; // 保留}TH_PlateResult;六、常量定义6.1 车牌类型(数值)#define LT_UNKNOWN 0 //未知车牌#define LT_BLUE 1 //普通蓝牌#define LT_BLACK 2 //普通黑牌#define LT_YELLOW 3 //单层黄牌#define LT_YELLOW2 4 //双层黄牌(大车尾牌,农用车)#define LT_POLICE 5 //警车车牌#define LT_ARMPOL 6 //武警车牌#define LT_INDIVI 7 //个性车牌#define LT_ARMY 8 //单层军车#define LT_ARMY2 9 //双层军车#define LT_EMBASSY 10 //使馆车牌#define LT_HONGKONG 11 //香港车牌#define LT_TRACTOR 12 //农用车牌(农用绿牌,农用黄牌)6.2 车牌颜色(数值)#define LC_UNKNOWN 0 未知#define LC_BLUE 1 蓝#define LC_YELLOW 2 黄#define LC_WHITE 3 白#define LC_BLACK 4 黑#define LC_GREEN 5 绿6.3 运动方向(数值)#define DIRECTION_LEFT 1 向左#define DIRECTION_RIGHT 2 向右#define DIRECTION_UP 3 向上#define DIRECTION_DOWN 4 向下6.4 图像格式(数值)#define ImageFormatRGB 0#define ImageFormatBGR 1#define ImageFormatYUV422 2#define ImageFormatYUV420 36.5 车辆颜色(数值)//颜色深浅#define LGRAY_DARK 0 //深色#define LGRAY_LIGHT 1 //浅色//颜色#define LCOLOUR_WHITE 0 //白#define LCOLOUR_SILVER 1 //灰(银)#define LCOLOUR_YELLOW 2 //黄#define LCOLOUR_PINK 3 //粉#define LCOLOUR_RED 4 //红#define LCOLOUR_GREEN 5 //绿#define LCOLOUR_BLUE 6 //蓝#define LCOLOUR_BROWN 7 //棕#define LCOLOUR_BLACK 8 //黑七、示例代码下面是同时进行两路识别的参考代码。