comparison mupdf-source/thirdparty/tesseract/src/textord/linefind.h @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 ///////////////////////////////////////////////////////////////////////
2 // File: linefind.h
3 // Description: Class to find vertical lines in an image and create
4 // a corresponding list of empty blobs.
5 // Author: Ray Smith
6 //
7 // (C) Copyright 2008, Google Inc.
8 // Licensed under the Apache License, Version 2.0 (the "License");
9 // you may not use this file except in compliance with the License.
10 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
17 //
18 ///////////////////////////////////////////////////////////////////////
19
20 #ifndef TESSERACT_TEXTORD_LINEFIND_H_
21 #define TESSERACT_TEXTORD_LINEFIND_H_
22
23 namespace tesseract {
24
25 class TabVector_LIST;
26
27 /**
28 * The LineFinder class is a simple static function wrapper class that mainly
29 * exposes the FindVerticalLines function.
30 */
31 class LineFinder {
32 public:
33 /**
34 * Finds vertical and horizontal line objects in the given pix and removes
35 * them.
36 *
37 * Uses the given resolution to determine size thresholds instead of any
38 * that may be present in the pix.
39 *
40 * The output vertical_x and vertical_y contain a sum of the output vectors,
41 * thereby giving the mean vertical direction.
42 *
43 * If pix_music_mask != nullptr, and music is detected, a mask of the staves
44 * and anything that is connected (bars, notes etc.) will be returned in
45 * pix_music_mask, the mask subtracted from pix, and the lines will not
46 * appear in v_lines or h_lines.
47 *
48 * The output vectors are owned by the list and Frozen (cannot refit) by
49 * having no boxes, as there is no need to refit or merge separator lines.
50 *
51 * The detected lines are removed from the pix.
52 */
53 static void FindAndRemoveLines(int resolution, bool debug, Image pix, int *vertical_x,
54 int *vertical_y, Image *pix_music_mask, TabVector_LIST *v_lines,
55 TabVector_LIST *h_lines);
56 };
57
58 } // namespace tesseract.
59
60 #endif // TESSERACT_TEXTORD_LINEFIND_H_