This is a new version, for major Ubuntu release 18.04.
$TMPDIR path rewriting turned off on Unix; only used for Windows.
Added pix conversion to depth 2 and 4. We now have general
converters to 1, 2, 4, 8, 16 and 32 bpp.
Modified giflib to use read/write from/to memory; no temp files;
no longer support versions before 5.1.
Move most low-level code from separate files to their callers;
about 30 of them became static.
Improved table detection on scanned page images (tests: pageseg_reg.c)
Added support for write/compare regression tests for files.
Modified printimage for more flexibility.
Enable lookup by key on comma-separated key/value text file.
Update README.html for building with Visual Studio.
Improved functions for getting pixel averages in RGB images
Simplified and speedup of unsharp masking.
New function for detecting and correcting text orientation.
Remove slow sharpening operation when not appropriate during scaling.
Better handling of gplots with 0 or 1 data point.
Coverity scan fixes.
Modified jpeg2000 header to use openjpeg 2.3.
Improved depth accessors for pixa and pixaa; added size accessors
for pixa and pixaa.
Bug fix in webp interface on read error.
New function that finds the closest boxes in a boxa to any particular
box, in each of 4 directions.
New regression tests in automated sequence: blend5_reg, quadtree_reg,
wordboxes_reg.
New program: textorient
Removed programs: snapcolortest
1.74.4 11 Jun 17
- Converted two progs to reg tests
- New version because 1.74.3 had some spurious files (xtractprotos,
endianness.h)
1.74.3 9 Jun 17
- Coverity scan fixes.
- Several fixes for running on Windows, including subtle one with tiff
encoding depending on pad bits.
- Utility and test if a page image likely has a table.
- Remove use of pixCreateTemplateNoInit() where it may cause problems.
- Make release 'configure-make ready'
1.74.1 4 Jan 17
- Configuration changes to support the patch number in the
version (major.minor.patch).
- Removed all remaining pixDisplayWrite() calls in prog/.
- Cleaned up and/or promoted about 15 programs to full regression
tests. There are now 95 tests in the regression set.
- Over half the initial coverity scan warnings have been removed.
1.74.0 10 Dec 16
- Leptonica development was moved to github. The master is at:
github.com/danbloomberg/leptonica
- Egor Pugin is the maintainer of the site.
- A very large number of changes have been made. Some of them follow;
- details can be found in the git commit messages.
- Static makefiles modified to work with gnu*9 and c*9.
- Modify SET macros to work on windows.
- New modes for RGB --> gray conversion.
- New functions added for displaying a pix from a pixa.
- Split out sort/hash/set/map functions for dna, sarray and pta.
- More robust horizontal deskew on multi-column page images.
- Improve webpio_reg test.
- Remove X11 display for gplot; it is no longer supported.
- Remove most sleep calls, which were put in for gplot; no longer needed.
- Removed use of gthumb in library.
- Removed use of pixDisplayWrite() in the library; still in some progs.
- Improved test for endianness in makefile.static; no longer requires
any local files or building and running a program.
- Modified all files for doxygen output (spearheaded by Jurgen Buchmuller)
- Improved plotting of the boxes in a boxa.
- Replaced the slow point hash function with a simple fast one.
- Added pam (4 component) format writing to pnmio.c (Jurgen Buchmuller)
- Improved rendering of pixa in side/by/sides.
- Better utilities for pixa and pixacomp.
- Add read/write serialization functions from/to memory for all
the major data structures that do not already have them.
- More serialized boot recognizers stored as self-generating code.
- Cleaned up generating an adapted recognizer from the boot recognizer.
- Simplified temp file naming; removed most instances of named
temp files from non-debug code; use tmpfile() and a wrapper
l_makeTempFilename().
- Simplify and streamline multipage tiff reading (Jeff Breidenbach).
- Improvement of Otsu thresholding.
- Recognize outstanding contributors to leptonica over the years.
- New gif mem read/write interface that avoids writing a temp file,
contributed by Tobias Peirick.
- Use double arrays (dna) instead of float (numa) for set ops.
- Enrolled in coverity scan to find potential bugs (Stefan Weil
managed it). Fixed about 200 of them, mostly potential memory
leaks from early function exit.
- Cleanup of gray quantization functions and tests.
- Refactored connectivity-conserving operations, to make them more useful.
- Provided methods for measuring and regularizing the width of strokes.
- Removed viewfiles.c from library; code is now in prog htmlviewer.c.
- Better debugging in page segmentation (pageseg.c)
- Deprecated the pixDisplayWrite*() debugging methods.
- Added about 15 regression tests to the framework in alltests_reg.c
- Final mods for compatibility with tesseract 4.00.
1.73
- All lept_* functions have been rewritten to avoid path rewrites
for
output to temp files, which were introduced in 1.72.
- Naming changes (to avoid collisions):
#defines MALLOC --> LEPT_MALLOC, CALLOC --> LEPT_CALLOC, etc.
ByteBuffer --> L_ByteBuffer
- Added grayscale histogram functions that can be used to compare
images.
- Added functions to determine if an image region has horizontal
text lines.
- Added functions to compare photo regions of images to determine
if they're essentially the same.
- Added red-black tree utility functions to implement maps and
sets.
- The keys for maps and sets can be 64-bit entities (signed and
unsigned integers and doubles).
- Implemented hashsets and hashmaps, using 64 bit keys.
- Replaced the numaHash by l_dnaHash; removed numa2d
- Improved security of tiff and gif reading, to prevent memory
corruption
when reading bad data.
- Removed src files: bootnumgen.c
- Added src files: rbtree.c, rbtree.h, map.c, bootnumgen1.c,
bootnumgen2.c
- Added prog files: rbtreetest.c, maptest.c, settest.c,
hashtest.c,
recog_bootnum.c, percolatetest.c
- Added files for building using cmake (Egor Pugin)
1.72
- Better handling of 1 bpp colormap read/write with png so that
they are losseless.
- Fixed overflow bug in pixCorrelationBinary().
- Fixed orientation flags and handling of 16 bit RGB in tiff.
- Also new wrappers to TIFFClientOpen(), so we no longer go
through
the file descriptor for memory operations.
- Improvements in the dewarp functions.
- New box sequence smoothings.
- New antialiased painting through mask; previously it was only
implemented for connected components in a mask.
- Better error handling and debug output with jpeg2000 read/write.
- Implemented base64 encoding. This allows binary data to be
represented
as a C string that can be compiled. Used this in bmf utility.
- Implemented automatic code generation for deserialization from
compiled strings (stringcode.*)
- Regression tests write to leptonica subdir of in windows; in
unix it is optional. This avoids spamming the directory.
- Added new colorspace conversions (XYZ, LAB).
- New source files: encoding.c, bmfdata.h, stringcode.c,
stringcode.h,
bootnumgen.c.
- Removed source files: convolvelow.c, graymorphlow.c
- New programs: genfonts_reg, colorize_reg, texturefill_reg,
autogentest1, autogentest2.
- alltests_reg now has 66 tests.
operations, along with a description of the functions and some design methods.
A full set of affine transformations (translation, shear, rotation, scaling)
on images of all depths is included, with the exception that some of the
scaling methods do not work at all depths. There are also implementations of
binary morphology, grayscale morphology, convolution and rank order filters,
and applications such as jbig2 image processing and color quantization.