ultimatepp/bazaar/TestLeptonica/PageLayout.cpp
micio b26e58fcd8 Bazaar:Leptonica - added image rectangular markers
git-svn-id: svn://ultimatepp.org/upp/trunk@1577 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-09-20 14:55:01 +00:00

50 lines
1 KiB
C++

#include "TestLeptonica.h"
static void PageLayout(Pix &source, PixRaster &pixRaster)
{
pixRaster.Add(source);
PixRaster regions = source.GetRegionsBinary();
CHECKR(regions, "Error getting page layout");
pixRaster.Add(regions);
}
void TestLeptonica::onPageLayout()
{
String fileName;
FileSelector fs;
Pix source;
if(!PromptYesNo(
"[= [* Page layout analysis demo]&&"
"Please select a 1 bpp scanned image with mixed text and graphics&"
"you can take one from TestLeptonica folder if you like&&"
"[* CONTINUE ??]]"
))
return;
fs.ReadOnlyOption();
if(fs.ExecuteOpen("Please select image for page layout analysis:"))
{
FileIn s;
if(!s.Open(~fs))
{
PromptOK("Error opening image");
s.Close();
return;
}
// Loads pixraster from source raster
CHECKR(source.Load(s), "Error loading image");
s.Close();
// apply line removal algothithm
pixRaster.Clear();
PageLayout(source, pixRaster);
// refresh the PixRasterCtrl control with the new image contents
pixRasterCtrl.Reload();
pixRasterCtrl.SetPage(0);
}
}