mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-12-12 07:29:07 +08:00
aa55810b6b
git-svn-id: https://tesseract-ocr.googlecode.com/svn/trunk@132 d0cd1f9f-072b-0410-8dd7-cf729c803f20
91 lines
3.9 KiB
C++
91 lines
3.9 KiB
C++
///////////////////////////////////////////////////////////////////////
|
|
// File: leptonica_pageseg.h
|
|
// Description: Leptonica-based page segmenter.
|
|
// Author: Dan Bloomberg
|
|
// Created: Tue Aug 28 08:56:44 PDT 2007
|
|
//
|
|
// (C) Copyright 2007, Google Inc.
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef LEPTONICA_PAGESEG_H
|
|
#define LEPTONICA_PAGESEG_H
|
|
|
|
class Boxa;
|
|
class Pix;
|
|
class Pixa;
|
|
|
|
class LeptonicaPageSeg {
|
|
public:
|
|
// GetHalftoneMask()
|
|
// Input: pixs (input image, assumed to be at 300 - 400 ppi)
|
|
// &pixht (returns halftone mask; can be NULL)
|
|
// &baht (returns boxa of halftone mask component b.b.s; can be NULL)
|
|
// &paht (returns pixa of halftone mask components; can be NULL)
|
|
// debugflag (set true to write out intermediate images)
|
|
// Return: true if ok, false on error
|
|
// Note: If there are no halftone regions, all requested data structures
|
|
// are returned as NULL. This is not an error.
|
|
static bool GetHalftoneMask(Pix *pixs,
|
|
Pix **ppixht,
|
|
Boxa **pbaht,
|
|
Pixa **ppaht,
|
|
bool debugflag);
|
|
|
|
// GetTextlineMask()
|
|
// Input: pixs (input image, assumed to be at 300 - 400 ppi)
|
|
// &pixtm (returns textline mask; can be NULL)
|
|
// &pixvws (returns vertical whitespace mask; can be NULL)
|
|
// &batm (returns boxa of textline mask component b.b.s; can be NULL)
|
|
// &patm (returns pixa of textline mask components; can be NULL)
|
|
// debugflag (set true to write out intermediate images)
|
|
// Return: true if ok, false on error
|
|
static bool GetTextlineMask(Pix *pixs,
|
|
Pix **ppixtm,
|
|
Pix **ppixvws,
|
|
Boxa **pbatm,
|
|
Pixa **ppatm,
|
|
bool debugflag);
|
|
|
|
// GetTextblockMask()
|
|
// Input: pixs (input image, assumed to be at 300 - 400 ppi)
|
|
// &pixtb (returns textblock mask; can be NULL)
|
|
// &batb (returns boxa of textblock mask component b.b; can be NULL)
|
|
// &patb (returns pixa of textblock mask components; can be NULL)
|
|
// debugflag (set true to write out intermediate images)
|
|
// Return: true if ok, false on error
|
|
// Notes:
|
|
// To obtain a set of polylines of the outer borders of each of the
|
|
// textblock regions, use pixGetOuterBordersPtaa().
|
|
static bool GetTextblockMask(Pix *pixs,
|
|
Pix **ppixtb,
|
|
Boxa **pbatb,
|
|
Pixa **ppatb,
|
|
bool debugflag);
|
|
|
|
// GetAllRegions()
|
|
// Input: pixs (input image, assumed to be at 300 - 400 ppi)
|
|
// &pixhm (returns halftone mask; can be NULL)
|
|
// &pixtm (returns textline mask; can be NULL)
|
|
// &pixtb (returns textblock mask; can be NULL)
|
|
// debugflag (set true to write out intermediate images and data)
|
|
// Return: true if ok, false on error
|
|
// Note: use NULL for input on each mask you don't want.
|
|
static bool GetAllRegions(Pix *pixs,
|
|
Pix **ppixhm,
|
|
Pix **ppixtm,
|
|
Pix **ppixtb,
|
|
bool debugflag);
|
|
};
|
|
|
|
#endif // LEPTONICA_PAGESEG_H
|