Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用Tesseract进行页面布局分析?_C++_Image Processing_Ocr_Tesseract - Fatal编程技术网

C++ 使用Tesseract进行页面布局分析?

C++ 使用Tesseract进行页面布局分析?,c++,image-processing,ocr,tesseract,C++,Image Processing,Ocr,Tesseract,能够执行页面布局分析。但是,我找不到任何关于如何使用该库实现这些目的的示例代码或文档。我希望这里有人能解释如何对图像执行布局分析以及如何解析结果数据 可以为Tesseract提供一个页面模式参数(-psm),该参数可以具有以下值: 0=仅限方向和脚本检测(OSD) 1=使用OSD进行自动页面分割 2=自动页面分割,但没有OSD或OCR 3=全自动页面分割,但没有OSD。(默认) 4=假设一列文本大小可变 5=假设一个统一的垂直对齐文本块 6=假设一个统一的文本块 7=将图像视为单个文本行 8=

能够执行页面布局分析。但是,我找不到任何关于如何使用该库实现这些目的的示例代码或文档。我希望这里有人能解释如何对图像执行布局分析以及如何解析结果数据

可以为Tesseract提供一个页面模式参数(
-psm
),该参数可以具有以下值:

  • 0
    =仅限方向和脚本检测(OSD)
  • 1
    =使用OSD进行自动页面分割
  • 2
    =自动页面分割,但没有OSD或OCR
  • 3
    =全自动页面分割,但没有OSD。(默认)
  • 4
    =假设一列文本大小可变
  • 5
    =假设一个统一的垂直对齐文本块
  • 6
    =假设一个统一的文本块
  • 7
    =将图像视为单个文本行
  • 8
    =将图像视为单个单词
  • 9
    =将图像视为圆圈中的单个单词
  • 10
    =将图像视为单个字符
例如:

tesseract image.tif image.txt -l eng -psm 0

但是,我不确定是否可以在独立模式下使用布局分析。

首先,初始化
TessBaseAPI
实例。您可以使用
Init()
(如果您想执行进一步的文本识别)或
InitForAnalysePage()
(如果您只对文本框感兴趣)

其次,使用
SetImage()
设置图像

最后,调用
AnalyseLayout()
以获得
PageIterator
,它为您提供了文本框

tesseract::TessBaseAPI tessApi;
tessApi.InitForAnalysePage();

// tessApi.SetImage(...);

tesseract::PageIterator *iter = tessApi.AnalyseLayout();

// Instead of RIL_WORD you can use any other PageSegMode
while (iter->Next(tesseract::RIL_WORD)) {
    int left, top, right, bottom;

    iter->BoundingBox(
            tesseract::RIL_WORD,
            &left, &top, &right, &bottom
    );
}

不确定这是否准确地回答了您的问题,但我在这里登陆是为了寻找获得给定输入图像的bbox坐标信息(以及bbox中可识别的文本)的方法。现在可以使用tesseract解决此问题

$> tesseract test.tiff test.txt -l eng -psm 1 tsv
在上面的代码片段中要注意的参数是“psm”和“tsv”“psm”选择页面分割模式,“tsv”生成一个漂亮的表格输出文件,其中包含您在文本图像上需要的所有信息(页面块行号、bbox坐标、置信度、预测文本)(如下所示)


自3.04起有一个选项:

tesseract -c preserve_interword_spaces=1 test.tif test
问题是关于“如何使用库”,而不是独立的可执行文件。
tesseract -c preserve_interword_spaces=1 test.tif test