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: