tesseract::ImageThresholder Class Reference
#include <thresholder.h>
List of all members.
Public Member Functions |
| | ImageThresholder () |
| virtual | ~ImageThresholder () |
| virtual void | Clear () |
| | Destroy the Pix if there is one, freeing memory.
|
| bool | IsEmpty () const |
| | Return true if no image has been set.
|
| void | SetImage (const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line) |
| void | SetRectangle (int left, int top, int width, int height) |
| virtual void | GetImageSizes (int *left, int *top, int *width, int *height, int *imagewidth, int *imageheight) |
| virtual bool | HasThresholdToPix () const |
| bool | IsColor () const |
| | Return true if the source image is color.
|
| virtual void | ThresholdToIMAGE (IMAGE *image) |
Protected Member Functions |
| virtual void | Init () |
| | Common initialization shared between SetImage methods.
|
| bool | IsFullImage () const |
| | Return true if we are processing the full image.
|
| void | OtsuThresholdRectToIMAGE (const unsigned char *imagedata, int bytes_per_pixel, int bytes_per_line, IMAGE *image) const |
| void | ThresholdRectToIMAGE (const unsigned char *imagedata, int bytes_per_pixel, int bytes_per_line, const int *thresholds, const int *hi_values, IMAGE *image) const |
| void | CopyBinaryRectRawToIMAGE (IMAGE *image) const |
Protected Attributes |
| const unsigned char * | image_data_ |
| | Exactly one of pix_ and image_data_ is not NULL.
|
| int | image_width_ |
| int | image_height_ |
| int | image_bytespp_ |
| int | image_bytespl_ |
| int | rect_left_ |
| int | rect_top_ |
| int | rect_width_ |
| int | rect_height_ |
Detailed Description
Base class for all tesseract image thresholding classes. Specific classes can add new thresholding methods by overriding ThresholdToIMAGE and/or ThresholdToPix. Each instance deals with a single image, but the design is intended to be useful for multiple calls to SetRectangle and ThresholdTo* if desired.
Constructor & Destructor Documentation
| tesseract::ImageThresholder::ImageThresholder |
( |
|
) |
|
| tesseract::ImageThresholder::~ImageThresholder |
( |
|
) |
[virtual] |
Member Function Documentation
| void tesseract::ImageThresholder::Clear |
( |
|
) |
[virtual] |
Destroy the Pix if there is one, freeing memory.
| void tesseract::ImageThresholder::CopyBinaryRectRawToIMAGE |
( |
IMAGE * |
image |
) |
const [protected] |
Cut out the requested rectangle of the source raw binary image to the output IMAGE.
| void tesseract::ImageThresholder::GetImageSizes |
( |
int * |
left, |
|
|
int * |
top, |
|
|
int * |
width, |
|
|
int * |
height, |
|
|
int * |
imagewidth, |
|
|
int * |
imageheight | |
|
) |
| | [virtual] |
Get enough parameters to be able to rebuild bounding boxes in the original image (not just within the rectangle). Left and top are enough with top-down coordinates, but the height of the rectangle and the image are needed for bottom-up.
| bool tesseract::ImageThresholder::HasThresholdToPix |
( |
|
) |
const [virtual] |
Return true if HAVE_LIBLEPT and this thresholder implements the Pix interface.
| void tesseract::ImageThresholder::Init |
( |
|
) |
[protected, virtual] |
Common initialization shared between SetImage methods.
| bool tesseract::ImageThresholder::IsColor |
( |
|
) |
const [inline] |
Return true if the source image is color.
| bool tesseract::ImageThresholder::IsEmpty |
( |
|
) |
const |
Return true if no image has been set.
| bool tesseract::ImageThresholder::IsFullImage |
( |
|
) |
const [inline, protected] |
Return true if we are processing the full image.
| void tesseract::ImageThresholder::OtsuThresholdRectToIMAGE |
( |
const unsigned char * |
imagedata, |
|
|
int |
bytes_per_pixel, |
|
|
int |
bytes_per_line, |
|
|
IMAGE * |
image | |
|
) |
| | const [protected] |
Otsu threshold the rectangle, taking everything except the image buffer pointer from the class, to the output IMAGE.
| void tesseract::ImageThresholder::SetImage |
( |
const unsigned char * |
imagedata, |
|
|
int |
width, |
|
|
int |
height, |
|
|
int |
bytes_per_pixel, |
|
|
int |
bytes_per_line | |
|
) |
| | |
SetImage makes a copy of only the metadata, not the underlying image buffer. It promises to treat the source as read-only in either case, but in return assumes that the Pix or image buffer remain valid throughout the life of the ImageThresholder. Greyscale of 8 and color of 24 or 32 bits per pixel may be given. Palette color images will not work properly and must be converted to 24 bit. Binary images of 1 bit per pixel may also be given but they must be byte packed with the MSB of the first byte being the first pixel, and a one pixel is WHITE. For binary images set bytes_per_pixel=0.
| void tesseract::ImageThresholder::SetRectangle |
( |
int |
left, |
|
|
int |
top, |
|
|
int |
width, |
|
|
int |
height | |
|
) |
| | |
Store the coordinates of the rectangle to process for later use. Doesn't actually do any thresholding.
| void tesseract::ImageThresholder::ThresholdRectToIMAGE |
( |
const unsigned char * |
imagedata, |
|
|
int |
bytes_per_pixel, |
|
|
int |
bytes_per_line, |
|
|
const int * |
thresholds, |
|
|
const int * |
hi_values, |
|
|
IMAGE * |
image | |
|
) |
| | const [protected] |
Threshold the rectangle, taking everything except the image buffer pointer from the class, using thresholds/hi_values to the output IMAGE.
| void tesseract::ImageThresholder::ThresholdToIMAGE |
( |
IMAGE * |
image |
) |
[virtual] |
Threshold the source image as efficiently as possible to the output tesseract IMAGE class.
Member Data Documentation
Exactly one of pix_ and image_data_ is not NULL.
The documentation for this class was generated from the following files: