Tesseract主要API功能介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

tesseract本身代码是由c/c++混编而成的,其中有用的简单的接口函数几乎都是在baseapi.h中。从其处理过程中,不难得出:它还需要有一个image处理的类,及相关的方法;这样子,读取图片后,生成image对象,再获取相关的参数;当然还需要有对image对象的读取,版面分析等接口函数;再次,它还定义了很多自身的数据类型,比如:BITS16、array_record、BLOCK、IMAGE等;而且它具有自学的能力。现在,我们从头有调理地简单讲述一下子:(1)tesseract::TessBaseAPI,基础的接口函数,包含了初始化,简单的处理图片文字信息,版面分析的结果体等。(2)IMAGE,只是一个类,里边封装了相关的图片操作,包括图片的读取,图片参数信息的获取等。(3)其他,包括数据类型声明,相关结构体声明,跨平台处理,命令端参数提取等。我们在实际中用到的就是前两个里边的东西。声明:以下函数皆是在tesseract::TessBaseAPI域下1:SetImage函数声明:voidtesseract::TessBaseAPI::SetImage(constunsignedchar*imagedata,intwidth,intheight,intbytes_per_pixel,intbytes_per_line)为Tesseract提供待识别的图片。2:SetSourceResolution函数声明:voidtesseract::TessBaseAPI::SetSourceResolution(intppi)设置源图像的分辨率(像素每英尺),可以计算最终的字体大小信息。SetImage之后调用此函数。3:SetRectangle函数声明:voidtesseract::TessBaseAPI::SetRectangle(intleft,inttop,intwidth,intheight)将识别限制到图像的一个子矩形区域,SetImage之后调用此函数。每一次该函数调用后将清除识别结果,以便同一张图像可以进行多矩形区域的识别。4:SetThresholder函数声明:voidtesseract::TessBaseAPI::SetThresholder(ImageThresholder*thresholder)在一些特殊的情况下,通常是产生一个阈值器类的子类的时候,该函数可以提供一个不同的阈值器,阈值器可能会随着图片和设定预装入,或者被随后设定。Tesseract拥有阈值器支配权,并在它被替换或是API被析构后删除。5:GetThresholdedImage函数声明:Pix*tesseract::TessBaseAPI::GetThresholdedImage()从Tesseract获得内部阈值图像的拷贝,在SetImage或者TesseractRect之后可以随时别调用。注意,只有安装了Leptonica之后才可使用。6:GetRegions函数声明:Boxa*tesseract::TessBaseAPI::GetRegions(Pixa**pixa)以aleptonica-styleBoxa,Pixapair格式获得页面结构分析的结果,在Recognize前后均可被调用。7:GetTextlines函数声明:Boxa*tesseract::TessBaseAPI::GetTextlines(Pixa**pixa,int**blockids)以aleptonica-styleBoxa,Pixapair格式获取文本行,在Recognize前后均可被调用。如果blockids(block数目)是空的话,每行block-id返回每行一个元素的数组,使用之后被删除。8:GetStrips函数声明:Boxa*tesseract::TessBaseAPI::GetStrips(Pixa**pixa,int**blockids)以aleptonica-styleBoxa,Pixapair格式获取图像区域的文本行和条形区域,方便后面非矩形区域的处理。在Recognize前后均可被调用9:GetWords函数声明:Boxa*tesseract::TessBaseAPI::GetWords(Pixa**pixa)以aleptonica-styleBoxa,Pixapair格式获取图像区域的文字,在Recognize前后均可被调用。10:GetConnectedComponents函数声明:Boxa*tesseract::TessBaseAPI::GetConnectedComponents(Pixa**pixa)在页面分析之后识别之间,以aleptonica-styleBoxa,Pixapair格式获得独立连通的文本区域,在Recognize前后均可被调用。11:GetComponentImages函数声明:Boxa*tesseract::TessBaseAPI::GetComponentImages(PageIteratorLevellevel,booltext_only,Pixa**pixa,int**blockids)以aleptonica-styleBoxa,Pixapair格式获得制定级别的元素(block,textline,word),在Recognize前后均可被调用。果blockids(block数目)是空的话,每行block-id返回每行一个元素的数组,使用之后被删除。如果text_only为真,只有text可被返回。12:GetThresholdedImageScaleFactor函数声明:inttesseract::TessBaseAPI::GetThresholdedImageScaleFactor()const返回阈值图像的比例系数,该阈值图像由yGetThresholdedImage()和调用了GetComponentImages()的GetX()函数返回。13:DumpPGM函数声明:voidtesseract::TessBaseAPI::DumpPGM(constchar*filename)将内部二值图像放到PGM文件中。14:AnalyseLayout函数声明:PageIterator*tesseract::TessBaseAPI::AnalyseLayout()以SetPageSegMode设定的模式进行页面结构分析,返回一个(iterator),错误返回为空。Iterator使用后必须删除。注意:该函数指向TessBaseAPI类内部的数据,因此必须在TessBaseAPI存在的情况下才可被调用。不能被改变内部PAGE_RES的Init,SetImage,Recognize,Clear,EndDetectOS或者其他调用。15:Recognize函数声明:inttesseract::TessBaseAPI::Recognize(ETEXT_DESC*monitor)识别来自SetAndThresholdImage的图像,产生Tesseract内部结构数据,成功返回0,如果需要,下面的Get*Tex函数会调用它。识别完成后,在SetImage之前,输出都会保持在内部。16:RecognizeForChopTest函数声明:inttesseract::TessBaseAPI::RecognizeForChopTest(ETEXT_DESC*monitor)检索来自SetAndThresholdImage(),Recognize()orTesseractRect()的信息(在需要的情况下隐式调用Recognize)。对Recognize变化一测试chopper.17:ProcessPages函数声明:booltesseract::TessBaseAPI::ProcessPages(constchar*filename,constchar*retry_config,inttimeout_millisec,STRING*text_out)识别指定文件的所有页面,文件格式为(amulti-pagetifforlistoffilenames,orsingleimage),并且根据参数(tessedit_create_boxfile,tessedit_make_boxes_from_boxes,tessedit_write_unlv,tessedit_create_hocr.)得到合适的文本。在输入文件的每一页运行ProcessPage,输入文件可以是(amulti-pagetiff,single-pageotherfileformat,oraplaintextlistofimagestoread),返回值放在text_out中。如果tessedit_page_number非负,程序将会在其所代表那一页开始。运行错误返回false.如果程序暂停在某一页timeout_millisec(非负)时间终止程序,或者由于某些原因一些页面处理失败,该页面将会以retry_config的配置文件重新处理。18:ProcessPage函数声明:booltesseract::TessBaseAPI::ProcessPage(Pix*pix,intpage_index,constchar*filename,constchar*retry_config,inttimeout_millisec,STRING*text_out)为ProcessPages进行单页面识别。Text放到text_out中,pix是文件名,page_index是边缘处理后的元数据,比如box文件,或者hOCR格式文件。19:GetIterator函数声明:ResultIterator*tesseract::TessBaseAPI::GetIterator()为LayoutAnalysisand/orRecognize运行结果获取读取顺序的迭代器(iterator),使用之后删除。20:GetMutableIterator函数声明:MutableIterator*tesseract::TessBaseAPI::GetMutableIterator()为LayoutAnalysisand/orRecognize运行结果获取可变的迭代器(iterator),使用之后删除。21:GetUTF8Text函数声明:char*tesseract::TessBaseAPI::GetUTF8Text()识别的文本被返回为字符指针,以UTF8编码(mustbefreedwiththedelete[]operator)。从内部数据结构中获得文本字符串。22:函数声明:char*tesseract::TessBaseAPI::GetHOCRText(intpage_number)

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功