tesseract  5.0.0-alpha-619-ge9db
blobgrid.cpp
Go to the documentation of this file.
1 // File: blobgrid.cpp
3 // Description: BBGrid of BLOBNBOX with useful BLOBNBOX-specific methods.
4 // Copyright 2011 Google Inc. All Rights Reserved.
5 // Author: rays@google.com (Ray Smith)
6 // Created: Sat Jun 11 10:30:01 PST 2011
7 //
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 //
19 
20 #include "blobgrid.h"
21 
22 namespace tesseract {
23 
24 BlobGrid::BlobGrid(int gridsize, const ICOORD& bleft, const ICOORD& tright)
25  : BBGrid<BLOBNBOX, BLOBNBOX_CLIST, BLOBNBOX_C_IT>(gridsize, bleft, tright) {
26 }
27 
28 // Destructor.
29 // It is defined here, so the compiler can create a single vtable
30 // instead of weak vtables in every compilation unit.
31 BlobGrid::~BlobGrid() = default;
32 
33 // Inserts all the blobs from the given list, with x and y spreading,
34 // without removing from the source list, so ownership remains with the
35 // source list.
36 void BlobGrid::InsertBlobList(BLOBNBOX_LIST* blobs) {
37  BLOBNBOX_IT blob_it(blobs);
38  for (blob_it.mark_cycle_pt(); !blob_it.cycled_list(); blob_it.forward()) {
39  BLOBNBOX* blob = blob_it.data();
40  if (!blob->joined_to_prev())
41  InsertBBox(true, true, blob);
42  }
43 }
44 
45 } // namespace tesseract.
tesseract::BBGrid< BLOBNBOX, BLOBNBOX_CLIST, BLOBNBOX_C_IT >::InsertBBox
void InsertBBox(bool h_spread, bool v_spread, BLOBNBOX *bbox)
Definition: bbgrid.h:486
tesseract::BlobGrid::BlobGrid
BlobGrid(int gridsize, const ICOORD &bleft, const ICOORD &tright)
Definition: blobgrid.cpp:24
ICOORD
integer coordinate
Definition: points.h:30
BLOBNBOX
Definition: blobbox.h:142
blobgrid.h
BLOBNBOX::joined_to_prev
bool joined_to_prev() const
Definition: blobbox.h:255
tesseract::BBGrid
Definition: bbgrid.h:158
tesseract
Definition: baseapi.h:65
tesseract::BlobGrid::~BlobGrid
~BlobGrid() override
tesseract::BlobGrid::InsertBlobList
void InsertBlobList(BLOBNBOX_LIST *blobs)
Definition: blobgrid.cpp:36