ScanTailor Advanced is the version that merges the features of the ScanTailor Featured and ScanTailor Enhanced versions, brings new ones and fixes.

Overview

ScanTailor Advanced

The ScanTailor version that merges the features of the ScanTailor Featured and ScanTailor Enhanced versions, brings new ones and fixes.

Contents:

Description

ScanTailor is an interactive post-processing tool for scanned pages. It performs operations such as:

You give it raw scans, and you get pages ready to be printed or assembled into a PDF or DjVu file. Scanning, optical character recognition, and assembling multi-page documents are out of scope of this project.

Features

ScanTailor Enhanced

  • Auto margins [improved]

    Auto margins feature allows keep page content on original place. In the Margins step you can choose from Auto, Manual (default) and Original mode. The manual mode is the original one. Auto mode try to decide if it is better to align page top, bottom or center. Original mode keeps page on their vertical original position.

    This feature has been improved. See page area feature description. Also see ScanTailor Advanced fixes & improvements

  • Page detect [reworked]

    Page detect feature allows detect page in black margins or switch off page content detection and keep original page layout.

    This feature has been reworked. See ScanTailor Advanced fixes & improvements for more information.

  • Deviation [reworked]

    Deviation feature enables highlighting of different pages. Highlighted in red are pages from Deskew filter with too high skew, from Select Content filter pages with different size of content and in Margins filter are highlighted pages which does not match others.

    This feature has been reworked. See ScanTailor Advanced fixes & improvements for more information.

  • Picture shape [reworked]

    Picture shape feature adds option for mixed pages to choose from free shape and rectangular shape images. This patch does not improve the original algoritm but creates from the detected "blobs" rectangular shapes and the rectangles that intersects joins to one.

    This feature has been reworked. See rectangular picture shape feature description.

  • Multi column thumbnails view [reworked]

    This allows to expand and un-dock thumbnails view to see more thumbnails at a time.

    This feature had performance and drawing issues and has been reworked.

ScanTailor Featured

  • ScanTailor Featured fixes & improvements
    • Deleted 3 Red Points.
      The 3 central red points on the topmost (bottom-most) horizontal blue line of the dewarping mesh are now eliminated.
    • Manual dewarping mode auto switch.
      The dewarping mode is now set to MANUAL (from OFF) after the user has moved the dewarping mesh.
    • Auto dewarping vertical half correction.
      This patch corrects the original auto-dewarping in half the cases when it fails. If the vertical content boundary angle (calculated by auto-dewarping) exceeds an empirical value (2.75 degrees from vertical), the patch adds a new point to the distortion model (with the coordinates equal to the neighboring points) to make this boundary vertical. The patch works ONLY for the linear end of the top (bottom) horizontal line of the blue mesh (and not for the opposite curved end).
  • Line vertical dragging on dewarp

    You can move the topmost (bottom-most) horizontal blue line of the dewarping mesh up and down as a whole - if you grab it at the most left (right) red point - holding down the CTRL key.

  • Square picture zones [reworked]

    You can create the rectangular picture zones - holding down the CTRL key. You can move the (rectangular) picture zones corners in an orthogonal manner - holding down the CTRL key.

    This feature has been reworked and is now a part of new zone interaction modes feature.

  • Auto save project [optimized]

    Set the "auto-save project" checked in the Settings menu and you will get your project auto-saved provided you have originally saved your new project. Works at the batch processing too.

    This feature had performance issues and has been optimized.

  • Quadro Zoner [reworked]

    Another rectangular picture zone shape. This option is based on Picture shape, Square picture zones. It squeezes every Picture shape zone down to the real rectangular picture outline and then replaces it (the resulting raster zone) by a vector rectangular zone, so that a user could easily adjust it afterwards (by moving its corners in an orthogonal manner).

    This feature has been reworked. See rectangular picture shape feature description.

  • Marginal dewarping

    An automatic dewarping mode. Works ONLY with such raw scans that have the top and bottom curved page borders (on the black background). It automatically sets the red points of the blue mesh along these borders (to create a distortion model) and then dewarps the scan according to them. Works best on the low-curved scans.

Note: Other features of this version, such as Export, Dont_Equalize_Illumination_Pic_Zones, Original_Foreground_Mixed has't been moved due to dirty realization. Their functionality is fully covered by full control over settings on output and splitting output features.

ScanTailor Universal

  • ScanTailor Universal fixes & improvements
    • Improvements for the thumbnail view.

      1. More accurate multi-column list handling.
      2. Scaling thumbnails via Alt+Wheel.
    • Fixed some bugs of official and Enhanced version.

ScanTailor Advanced

  • ScanTailor Advanced fixes & improvements
    • Portability.
      The settings and program files are stored in the folder with the application.
      Note: If installed into a system directory, where config and data files can't be written into the folder with the application executable, ScanTailor Advanced works as a standalone app and stores its settings and application data in the appropriate system specific paths.

    • Page splitting settings now influence on the output by filling offcut. Fill offcut option has been added.

    • Page layout and all the other views now consider splitting settings. Corresponding improvements are done for thumbnails.

    • Changed ScanTailor behavior on page split stage.

      1. Reworked apply cut feature. Now on applying cut to the pages with different dimensions than the page the cut applied to, ScanTailor tries to adapt cutters instead of fully rejecting the cut setting and switching to auto mode for those pages as it was before. The later was annoying as pages could be similar and had the difference in a few pixels.
      2. Added check to reject invalid cut settings in manual mode.
      3. UI: Added cutters interaction between each other. They can't more intersect each other, which created a wrong page layout configuration before.
    • Reworking on multi column thumbnails view feature from ver. Enhanced. Now thumbnails are shown evenly.

    • Added option to control highlighting the thumbnails of pages with high deviation with red asterisks. The option refreshes the thumbnails instantly.

    • Deviation feature reworked.

      1. A deviation provider implemented.
        It supports caching and recalculates the values on demand. There isn't more any necessity to store deviation in page parameters and so in the project file, that approach caused some problems as the deviation is not actually a page parameter and depends on all the pages in the project.
      2. Added sorting by decreasing deviation.
    • Page/content boxes and auto margins features fixes & improvements.

      1. Added a feature of dragging both content and page areas by using Shift+LMB combination.
      2. A page box implementation reworked. Now it's interactive and can be adjusted by the same way as a content box is done.
      3. The page rectangle does not require refreshing page and won't be reset on the content area changes.
      4. Implemented applying the page/content boxes to the other pages automatically correcting the position of the boxes.
      5. Added width and height parameters to regulate the page box size in manual mode.
      6. Auto margins option has been moved out of the alignment settings and does no more force to use only the original layout.
      7. Auto margins feature now considers page box changes made at the selection content stage.
      8. Other bug fixes and improvements.
    • Auto and original alignment modes reworked:

      1. The original and auto alignment modes didn't work correctly due to the error in code.
      2. Both the modes didn't work rightly after select content stage or reopening the project file, always requiring secondary batch processing of every page at margins stage to work correctly.
      3. Reworked calculation method for the original alignment. Now it is more precise.
      4. Original alignment mode now considers the page box from 4th stage.
      5. Fixed behaviour of horizontal alignment, when the original mode enabled, and auto margins has been enabled/disabled. Also on applying auto-margins / original alignment to the set of pages, that is now set correctly for each page.
      6. Added ability to separately control vertical and horizontal automatic alignment when auto or original alignment mode enabled.
    • Changed the way of the adjustment of the despeckle strength.
      Now that's set via the slider. It allows to adjust the despeckle strength more smoothly and exactly. Value 1.0 matches the old cautious mode, 2.0 - normal and 3.0 - aggressive.

    • Improvements on the thumbnails view and navigation:

      • Saving selection of pages on filter switch.
      • Separate highlighting for selection leader in thumbnails.
      • Navigating between selected pages. Use Shift+PgUp/Q and Shift+PgDown/W to navigate between selected pages.
      • Added buttons to navigate between pages.
      • Multi page selection mode without using keyboard.
      • The question as to whether cancel multi page selection.
      • Go to a page by its number (Ctrl+G shortcut).
    • Added options in the settings to manage the quality and size of thumbnails.
      It's possible to switch thumbnail quality while working on a project with the changes applied immediately. For every quality chosen a cache is created.
      Usage example: you could use this feature for the preview purpose, which is faster than simple navigating between pages. Undock the thumbnails panel, set the quality, for ex., to 700, and size to 1000. You can mark problem pages with Ctrl+Click on a thumbnail and navigate between these selected pages after finishing to fix them. To finish the preview change the quality and size values back and dock the panel.

    • Fixed other bugs of official, Enhanced and Featured versions and made lots of other improvements.

  • Light and Dark color schemes

    You can choose a desired color scheme in settings.

  • Multi-threading support for batch processing

    This significantly increases the speed of processing. The count of threads to use can be adjusted while processing.

    Warning! More threads requires more memory to use. Exclude situations of that to be overflowed.

  • Full control over settings on output

    This feature enables to control filling margins, normalizing illumination before binarization, normalizing illumination in color areas and Savitzky-Golay and morphological smoothing options at the output stage in any mode (of course, those setting that can be applied in the current mode).

  • Filling outside areas

    Now outside pixels can be filled with the background color of the page.

    Added filling setting with the following options:

    1. Background: estimate the background and fill outside pixels with its color.
    2. White: always fill with white.
  • Tiff compression

    Tiff compression options allow to disable or change compression method in tiff files.

    There are two options in settings dialog: B&W and color compression.

    1. The B&W one has None, LZW, Deflate and CCITT G4 (Default) options.
    2. The color one has None, LZW (Default), Deflate and JPEG options.
  • Adaptive binarization

    Sauvola and Wolf binarization algorithms have been added. They can be applied when normalizing illumination does not help.

  • Splitting output

    The feature allows to split the mixed output scans into the pairs of a foreground (letters) and background (images) layer.

    You can choose between B&W or color (original) foreground.

    It can be useful:

    • for the further DjVu encoding,
    • to apply different filters to letters and images, which when being applied to the whole image gives worse results.
    • to apply a binarization to the letters from a third party app without affecting the images.

    Note: That does not rename files to 0001, 0002... It can be made by a third party app, for example Bulk Rename Utility

  • Original background

    This feature is a part of the splitting output feature.

    It allows to preserve the original image background in the format ready for the further processing, when BW foreground is used. It can be used to encode into DjVu the pages with the complex background using the semi-auto "split layers" method which gives much higher quality results than DjVu auto segmenter. Also this feature can be used to extract high contrast elements of gradient images into the foreground layer by using second processing of the layer with pictures ("background").

    Properties of the original background:

    • Original background images are saved into "original_background" folder in "out" directory.
    • Pure black (#000000) and white (#ffffff) colors of original background image are reserved into #010101 and #fefefe, respectively.
    • Picture zones are marked with black when the BW content is marked with white. This property allow to use "select by color" feature of an image editor to select needed areas for their further processing, for example, apply blur to white holes and their nearest areas to get an effective compression level of the background layer in DjVu.
    • Filling zones feature also removes trash and speckles from the original background when applied to the foreground layer.
  • Color segmenter and posterization

    Color segmentation and posterization (color quantization) features have been implemented.

    Color segmentation allows to split the image into color segments and colorize b&w mask. Posterization allows to reduce the number of colors of the image by grouping similar colors. The main use of posterization is to be applied to segmented image to get an indexed image, that can then be encoded into DjVu as the foreground layer. It allows to create high-quality DjVu files with color text and elements having maximal compression level. Posterization can also be used in color mode and can be applied to usual color gradient images for different purposes, for example, to increase their compression efficiency.

  • Rectangular picture shape

    "Quadro" picture shape mode from Featured was merged with Rectangular one from Enhanced. Also removed restriction of ver. Featured on deleting all the auto zones. Before it resulted in resetting all the auto zones back. Added sensitivity option. If sensitivity equals 25%, the results will be the same as they were in old "Quadro" mode, if 100% - as in old "Rectangular".

  • New zone interaction modes
    • Zone creation mode:
      Press Z to switch to polygonal mode.
      Press X to switch to lasso (free drawing) mode.
      Press C to switch to rectangular mode.
      Press Z or X while creating a new zone to switch between polygonal and rectangular modes respectively.
    • Zone:
      Shift+LMB on a zone - drag the zone.
      Ctrl+Shift+LMB on a zone - drag the zone copying.
      Ctrl+Alt+Click - copy the latest created zone to the current cursor position.
      Del when the cursor is over a zone - delete the zone.
    • Zone vertex:
      D when the cursor is over a zone vertex - delete the vertex.
      Hold Ctrl when dragging a zone vertex - make the angle of the vertex right.
  • Saving zoom and focus on switching output tabs

    The save is precise and considers the images transformations.
    Also added a feature of swithing the output tabs by using Ctrl+1..5 keys combinations.

  • Measurement units system

    The settings are available in the main window menu. Available units: pixels, millimetres, centimetres and inches.

    The system affects every aspect of the program, so, for example, it's now possible to adjust margins in pixels, but not only in millimetres or inches.

  • Status bar panel

    The panel shows the next information: zone creation mode icon, mouse position relative to the image, physical size of the image, position of the selected page in current order and the page name and type ([L] or [R] - left or right page, if the page has been splitted).

    This feature is also affected by measurement units system.

  • Default parameters

    Default parameters system supporting custom profiles has been implemented.

    The system allows to manage the default filter settings for every stage. Those filter parameters will be set as defaults for any new project created.

    For example, it allows to set your own default margins standard, but not default 5, 10, 5, 10 mm, and so for the other parameters.

    Peculiarities:

    1. There are two default profiles: "Default" and "Source". The "Default" profile represents default ST filter settings, the "Source" one represents the settings giving the source as output without any changes.
    2. A user can create its own profiles. User profiles are stored in config/profiles folder or in an system specific one for application data.
    3. The system consider the units settings from the measurement units system. Units are stored in the profile and ST automatically converts the values if needed.
  • Collapsible filter options.

    Now group boxes containing filter options can be collapsed/expanded.
    The collapse status is preserved between restarts of the application.

  • Auto adjusting content area.

    Use double-click on content to automatically adjust the content area.
    If the content is outside the area, the later will automatically be expanded and adjusted to the content at the position where double-click has been, otherwise the area edge, nearest to that position, will be adjusted (on clicking hold Shift pressed to select left or right edge only or Ctrl to select top or bottom one, or Shift+Ctrl to adjust both the nearest vertical and horizontal edges).

    It's much faster now to correct the content area if, for example, the page number has been missed by the auto algorithm. It is no more required to manually and laboriously move the corners and edges of the content box.

  • Black on white detection

    This feature allows to process images with light content on dark background correctly by correcting auto algorithms.

    Peculiarities:

    1. Auto detection of pages with light content on dark background can be enabled or disabled in the settings. Auto detection at the output stage is controlled separately.
    2. There is per page control over the mode in the output filter options.
  • Guides

    This feature gives you a more flexible and precise way of positioning content in the page layout. These are horizontal or vertical lines you can display on a page at the margins stage (when aligning enabled).
    Note: Guides are adaptive to the page soft margins, i.e. when the latter changed the guides on the page are automatically adjusted to match the new content position without requiring any manual re-adjusting.

    Capabilities:

    • Right-click to create/remove guides from the context menu called.
    • Right-click on a guide to delete that guide from the context menu called.
    • Ctrl+Alt+LMB - drag the guide under the cursor.
    • Shift/Ctrl+LMB on the content rectangle - drag the page content. Hold Shift pressed to restrict moving along the horizontal axis only or Ctrl for the vertical one. Hold Shift+Ctrl for usual dragging.
    • Double-click on content - automatically attach that content to the nearest guide. Hold Shift pressed to select vertical guides only or Ctrl for horizontal ones. Hold Shift+Ctrl to attach that to both the nearest vertical and horizontal guides.
    • Use the context menu to enable/disable showing the hard margins rectangle.

Building

Go to this repository and follow the instructions given there.

Comments
  • Can not apply manual content area to the following pages

    Can not apply manual content area to the following pages

    Encounted that I can not apply manual content area to the following pages, if they already have manual content area. If I want to apply a different content area from some page to all following pages, only 4-5 pages following the source page are changed at first, and then - only one page is changed. The program is very nice as it works much faster due to multicore usage, but this bug made me switch back to ScanTailor Featured, which is working OK. Its a pitty. Could you please look into it?

    bug solved 
    opened by ermylistru 20
  • Feature request: Dewarp before content selection

    Feature request: Dewarp before content selection

    I'm digitizing books which I'd rather not press flat against a scanner, which are much quicker digitized by means of setting up decent light, lying them flat on the floor and pointing a good camera straight down at them.

    This causes quite a bit of warping (particularly with softcovers or thicker books), which the dewarping algorithm deals with reasonably well.

    However, I have to select the pages, their content and in some cases pictures beforehand, and Scantailor assumes that most of these things were rectangular (which they only become after dewarping ...). For image maps, I can use polygons instead, for content selection I can adjust content boxes accoprdingly, but these workarounds take significantly more time than if the contents were nicely aligned, and sometimes the box around content will have corners off-page, despite ample page margins. Significantly warped content also seems to throw the automatic content selection off-balance, which means even more extra manual work.

    This often makes me wish I could reverse the order of those steps, and do the dewarping first. I'm not familiar with the code architecture (yet...?) but I would hope that it must be possible to change the order of processing steps to put dewarping before the content selection stage.

    Proposed implementation( I'm not familiar with Scantailor's code structure, so I can only comment on what would make sense from a user's perspective -- so I accept that some of the following may not be practically realistic, or that there are smarter/faster ways to get a working implementation.):

    My favourite implementation would be to bundle the dewarping with the deskewing step. It seems to me that the dewarp tool would be able to actually replace the "deskew" (i.e. rotation) function, as it can represent rotation, too. This might be overkill for users who really just need to rotate the contents a little, but since dewarping is already optional, it could stay optional, either following the rotation step, or optionally replacing it. ("deskew method: nothing | rotate | dewarp")

    Thinking even one more step forward, since the dewarp tool can also represent pure rotation and perspective correction without warping, those could become different options for the same tool, rather than separate tools. "Rotation" would look similar to right now (sets one angle), adding the "Perspective" option would add a rectangular frame with all four corners movable (sets two additional angles for perspective), and activating the "Dewarp" option then allows users to deform the grid.

    duplicate 
    opened by Mister-Teatime 12
  • Compiling fails at file ./src/foundation/PropertySet.cpp (Debian 9 / armhf)

    Compiling fails at file ./src/foundation/PropertySet.cpp (Debian 9 / armhf)

    I tried to build ScanTailor Advanced from the latest pre-release source tarball (2019.8.16_EA) on Debian GNU/Linux 9 ("Stretch") on an armhf device (Raspberry Pi 2B), but compiling fails at file ./src/foundation/PropertySet.cpp : /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp: In copy constructor ‘PropertySet::PropertySet(const PropertySet&)’: /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:20: error: expected unqualified-id before ‘[’ token for (const auto& [type, prop] : other.m_props) { ^ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:20: error: expected ‘;’ before ‘[’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:21: error: ‘type’ was not declared in this scope for (const auto& [type, prop] : other.m_props) { ^~~~ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:27: error: ‘prop’ was not declared in this scope for (const auto& [type, prop] : other.m_props) { ^~~~ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp: In lambda function: /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:33: error: expected ‘{’ before ‘:’ token for (const auto& [type, prop] : other.m_props) { ^ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp: In copy constructor ‘PropertySet::PropertySet(const PropertySet&)’: /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:33: error: expected ‘;’ before ‘:’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:33: error: expected primary-expression before ‘:’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:33: error: expected ‘)’ before ‘:’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:30:33: error: expected primary-expression before ‘:’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp: In member function ‘QDomElement PropertySet::toXml(QDomDocument&, const QString&) const’: /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:20: error: expected unqualified-id before ‘[’ token for (const auto& [type, prop] : m_props) { ^ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:20: error: expected ‘;’ before ‘[’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:21: error: ‘type’ was not declared in this scope for (const auto& [type, prop] : m_props) { ^~~~ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:27: error: ‘prop’ was not declared in this scope for (const auto& [type, prop] : m_props) { ^~~~ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp: In lambda function: /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:33: error: expected ‘{’ before ‘:’ token for (const auto& [type, prop] : m_props) { ^ /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp: In member function ‘QDomElement PropertySet::toXml(QDomDocument&, const QString&) const’: /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:33: error: expected ‘;’ before ‘:’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:33: error: expected primary-expression before ‘:’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:33: error: expected ‘)’ before ‘:’ token /home/pi/build/scantailor-advanced-2019.8.16_EA/src/foundation/PropertySet.cpp:48:33: error: expected primary-expression before ‘:’ token src/foundation/CMakeFiles/foundation.dir/build.make:114: die Regel für Ziel „src/foundation/CMakeFiles/foundation.dir/PropertySet.cpp.o“ scheiterte make[2]: *** [src/foundation/CMakeFiles/foundation.dir/PropertySet.cpp.o] Fehler 1 make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet... CMakeFiles/Makefile2:225: die Regel für Ziel „src/foundation/CMakeFiles/foundation.dir/all“ scheiterte make[1]: *** [src/foundation/CMakeFiles/foundation.dir/all] Fehler 2 Makefile:162: die Regel für Ziel „all“ scheiterte make: *** [all] Fehler 2 Full make/cmake build log: sta_buildlog.txt

    Versions of tools and dependencies:

    • cmake 3.13.2 (from deb backports)
    • gcc 6.3.0 (20170516)
    • boost 1.62.0
    • libjpeg 1.5.1
    • libpng 1.6.28
    • libpthread 0.3
    • qt 5.7.1
    • libtiff5 4.0.8 A more detailed versions output from apt: dep_versions.txt

    Operating System: Debian GNU/Linux 9 ("Stretch") Kernel: Linux 4.19.66-v7+ Architecture: 32-bit arm hard-float (armhf)

    UPDATE: Invalid

    opened by mara004 9
  • How to compile on trusty or xenial?

    How to compile on trusty or xenial?

    Getting

    CMake Error at /usr/local/cmake-3.12.4/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message):
      Unable to find the requested Boost libraries.
      Boost version: 1.58.0
      Boost include path: /usr/include
      Detected version of Boost is too old.  Requested version was 1.60 (or
      newer).
    

    How to compile on trusty or xenial?

    References:

    • https://github.com/probonopd/scantailor-advanced/blob/patch-1/.travis.yml
    • https://travis-ci.com/probonopd/scantailor-advanced/builds/109090448
    opened by probonopd 9
  • can't build latest dev versions on Slackware 14.2

    can't build latest dev versions on Slackware 14.2

    Although I can successfully compile version 1.0.14 on Slackware 14.2. I've got gcc 5.5.0 and qt5 5.7.1.

    Scanning dependencies of target stcore
    [ 25%] Building CXX object imageproc/CMakeFiles/imageproc.dir/AdjustBrightness.cpp.o
    [ 25%] Building CXX object CMakeFiles/stcore.dir/BackgroundExecutor.cpp.o
    [ 26%] Building CXX object imageproc/CMakeFiles/imageproc.dir/SEDM.cpp.o
    [ 27%] Building CXX object CMakeFiles/stcore.dir/PixmapRenderer.cpp.o
    [ 27%] Building CXX object CMakeFiles/stcore.dir/BubbleAnimation.cpp.o
    [ 27%] Building CXX object imageproc/CMakeFiles/imageproc.dir/ConnectivityMap.cpp.o
    [ 27%] Building CXX object CMakeFiles/stcore.dir/ProcessingIndicationWidget.cpp.o
    In file included from /usr/include/c++/5.5.0/bits/hashtable.h:35:0,
                     from /usr/include/c++/5.5.0/unordered_map:47,
                     from /home/blabla/sta/ColorScheme.h:7,
                     from /home/blabla/sta/ColorSchemeManager.h:8,
                     from /home/blabla/sta/ProcessingIndicationWidget.cpp:23:
    /usr/include/c++/5.5.0/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> >’:
    /usr/include/c++/5.5.0/type_traits:137:12:   required from ‘struct std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > >’
    /usr/include/c++/5.5.0/type_traits:148:38:   required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
    /usr/include/c++/5.5.0/bits/unordered_map.h:100:66:   required from ‘class std::unordered_map<ColorScheme::ColorParam, QColor>’
    /home/blabla/sta/ColorSchemeManager.h:27:28:   required from here
    /usr/include/c++/5.5.0/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<ColorScheme::ColorParam>) (const ColorScheme::ColorParam&)’
      noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
                                      ^
    In file included from /usr/include/c++/5.5.0/bits/move.h:57:0,
                     from /usr/include/c++/5.5.0/bits/stl_pair.h:59,
                     from /usr/include/c++/5.5.0/utility:70,
                     from /usr/include/qt5/QtCore/qcompilerdetection.h:1001,
                     from /usr/include/qt5/QtCore/qglobal.h:83,
                     from /usr/include/qt5/QtGui/qrgb.h:43,
                     from /usr/include/qt5/QtGui/qcolor.h:43,
                     from /usr/include/qt5/QtGui/QColor:1,
                     from /home/blabla/sta/ProcessingIndicationWidget.h:22,
                     from /home/blabla/sta/ProcessingIndicationWidget.cpp:19:
    /usr/include/c++/5.5.0/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’:
    /usr/include/c++/5.5.0/bits/unordered_map.h:100:66:   required from ‘class std::unordered_map<ColorScheme::ColorParam, QColor>’
    /home/blabla/sta/ColorSchemeManager.h:27:28:   required from here
    /usr/include/c++/5.5.0/type_traits:148:38: error: ‘value’ is not a member of ‘std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > >’
         : public integral_constant<bool, !_Pp::value>
                                          ^
    In file included from /usr/include/c++/5.5.0/unordered_map:48:0,
                     from /home/blabla/sta/ColorScheme.h:7,
                     from /home/blabla/sta/ColorSchemeManager.h:8,
                     from /home/blabla/sta/ProcessingIndicationWidget.cpp:23:
    /usr/include/c++/5.5.0/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<ColorScheme::ColorParam, QColor>’:
    /home/blabla/sta/ColorSchemeManager.h:27:28:   required from here
    /usr/include/c++/5.5.0/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc>  _Hashtable;
                                                                      ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::key_type key_type;
                                                 ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::value_type value_type;
                                                   ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::mapped_type mapped_type;
                                                    ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::hasher hasher;
                                               ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::key_equal key_equal;
                                                  ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::allocator_type allocator_type;
                                                       ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::pointer  pointer;
                                                 ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::const_pointer const_pointer;
                                                      ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::reference  reference;
                                                   ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::const_reference const_reference;
                                                        ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::iterator  iterator;
                                                  ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::const_iterator const_iterator;
                                                       ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::local_iterator local_iterator;
                                                       ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::const_local_iterator const_local_iterator;
                                                             ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::size_type  size_type;
                                                   ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           typedef typename _Hashtable::difference_type difference_type;
                                                        ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           operator=(initializer_list<value_type> __l)
           ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
      emplace(_Args&&... __args)
      ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           insert(const value_type& __x)
           ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
      insert(_Pair&& __x)
      ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           insert(initializer_list<value_type> __l)
           ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           equal_range(const key_type& __x)
           ^
    /usr/include/c++/5.5.0/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<ColorScheme::ColorParam> >, std::__detail::__is_noexcept_hash<ColorScheme::ColorParam, std::hash<ColorScheme::ColorParam> > > >’
           equal_range(const key_type& __x) const
           ^
    [ 27%] Building CXX object imageproc/CMakeFiles/imageproc.dir/InfluenceMap.cpp.o
    CMakeFiles/stcore.dir/build.make:138: recipe for target 'CMakeFiles/stcore.dir/ProcessingIndicationWidget.cpp.o' failed
    make[2]: *** [CMakeFiles/stcore.dir/ProcessingIndicationWidget.cpp.o] Error 1
    CMakeFiles/Makefile2:117: recipe for target 'CMakeFiles/stcore.dir/all' failed
    make[1]: *** [CMakeFiles/stcore.dir/all] Error 2
    make[1]: *** Waiting for unfinished jobs....
    [ 27%] Building CXX object imageproc/CMakeFiles/imageproc.dir/MaxWhitespaceFinder.cpp.o
    [ 27%] Building CXX object imageproc/CMakeFiles/imageproc.dir/RastLineFinder.cpp.o
    [ 28%] Building CXX object imageproc/CMakeFiles/imageproc.dir/ColorInterpolation.cpp.o
    [ 28%] Building CXX object imageproc/CMakeFiles/imageproc.dir/SeedFillGeneric.cpp.o
    [ 28%] Building CXX object imageproc/CMakeFiles/imageproc.dir/BackgroundColorCalculator.cpp.o
    [ 28%] Building CXX object imageproc/CMakeFiles/imageproc.dir/BadAllocIfNull.cpp.o
    [ 28%] Building CXX object imageproc/CMakeFiles/imageproc.dir/ColorSegmenter.cpp.o
    [ 29%] Building CXX object imageproc/CMakeFiles/imageproc.dir/ColorTable.cpp.o
    [ 29%] Building CXX object imageproc/CMakeFiles/imageproc.dir/ImageCombination.cpp.o
    [ 29%] Linking CXX static library libimageproc.a
    [ 29%] Built target imageproc
    Makefile:162: recipe for target 'all' failed
    make: *** [all] Error 2
    
    bug solved 
    opened by vltavskachobotnice 9
  • [enhancement] better deskew GUI

    [enhancement] better deskew GUI

    I really love scan tailor advanced. Thank you for developping it further. I would like to make a suggestion regarding the deskew strep. Sometimes I have difficulty seeing the grid against the picture because of the thin lines. I would love an option to show thicker lines. Although I really like the blue, it is sometimes difficult to see it against the picture, an option to change the color would be very welcome.

    duplicate feature 
    opened by AlexJacobs1977 8
  • AppImage: 'ZLIB_1.2.9' not found

    AppImage: 'ZLIB_1.2.9' not found

    OS: Debian 9.x (x86_64)

    I just try to execute ScanTailor_Advanced-x86_64.AppImage version 2019.8.16_EA

    • https://github.com/4lex4/scantailor-advanced/releases/tag/2019.8.16_EA

    But it can't run:

    $ ./ScanTailor*.AppImage
    ./ScanTailor_Advanced-x86_64.AppImage: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /var/tmp/.mount_ScanTax3xa6c/usr/bin/../lib/libpng16.so.16)
    

    I has no such issue with @probonopd's build:

    • https://github.com/probonopd/scantailor-advanced/releases/tag/continuous
    opened by Symbian9 8
  • Page Thumbnail Scaling

    Page Thumbnail Scaling

    It would be convenient to be able to scale page thumbnails to the right with the scroll wheel with Ctrl held down, as was done in WinDjView (when viewing page thumbnails). (Automatic translation).

    opened by d4fe 7
  • Bugfix for original alignment

    Bugfix for original alignment

    I guess there is a misplace of two arguments that was unnoticed as both has same type. The order in header (https://github.com/4lex4/scantailor-advanced/blob/master/filters/page_layout/Params.h#L36) is the correct one. As far as I can tell this ruins Original alignment results. Although Petr Kovář still didn't reply me on this.

    solved 
    opened by trufanov-nok 7
  • [Feature request] Add option to

    [Feature request] Add option to "Centralized the contents" within image

    Hi. I would like, at 1st, to thank you too much for this great work ...

    I would like to suggest to add new feature to "centralized the contents" within image. Certain images on scan a book, will appear the contents within the image either displayed to right (left margin > right margin) or displayed to left (right margin > left). In this case - when we have different displaying from image to other in degree & direction - it will be very useful if we have an option to make contents centralized at middle of image .....

    opened by Nokia808 6
  • Smoothing and threshold methods, current version of the program

    Smoothing and threshold methods, current version of the program

    1. Where can I read about Savitsky-Golei smoothing and morphological smoothing so that they can be applied consciously?
    2. Where can I read about the methods of “Otsu”, “Sauvola”, “Wolf” so that they are consciously applied?
    3. Is there a current version of the program with the changes? Or only from August 16, 2019? (Automatic translation).
    opened by d4fe 6
  • Self-modifying processing queue if ordered by decreasing deviation?

    Self-modifying processing queue if ordered by decreasing deviation?

    I think I've found a bug here: if the order is set to 'order by decreasing deviation', I scroll to the top, and press run (play) on a step, not all pages are processed.

    Can this be confirmed?

    If so, is the processing queue being modified as the process runs, moving some pages before the current index and thus missing them?

    Finding bugs in GUI software reliably is kindof hard; sorry if I'm just making a mistake.

    Scantailor and scantailor-advanced are amazing software, thank you!

    opened by 2e0byo 0
  • switch to opencv

    switch to opencv

    Hello!

    Here a few exaimples how to use OpenCV to scan / transform and prepare scanned docuemnts. Results are much better then current scantailor release.

    Would be nice to have opencv as part of this project.

    https://pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/

    opened by axet 1
  • mixed: picture zones layer">

    "stage output" -> mixed: picture zones layer

    This is a question to the function "stage output" -> mixed

    I do not understand, what the advantage (or sense) of the function "mixed" has compared with "Colour / Gray scale" mode?

    Question 1: Is the sense, to save place? (I mean to make the tiff-file smaller compared with "Colour / Gray scale" mode)?

    When I choose mixed-mode, then I can use the "picture zones to automatically detect pictures and separate them from text.

    One problem of tesseract based OCR programmes is, that they can not proper separate text from picture. It looks like ScanTailor can this better. And in the tesseract based OCR programmes we have not the possibility to manually mark/select "text areas" to help tesseract only to apply OCR on areas that are really text.

    So I ask me, if I can in any way use the mixed -> picture/text zones detected through ScanTailor in my OCR programme.

    Question 2:
    You speak about "auto layers" that can be seen in the tab "picture zones". Are this zones somehow saved in the resulting tiff? And if yes, can my OCR programme this zones use, to decide, if it should apply OCR to find text in a certain zone or not.

    Would appreciate some answer. Thank you.

    opened by Golddouble 1
  • Add linux installation informations

    Add linux installation informations

    Thanks for taking this wonderful software to a next level.

    This is just a quick issue to suggest adding links to snap and flatpak packages. The installation for linux is not detailed and one could think compilation is the only way.

    https://snapcraft.io/scantailor-advanced https://flathub.org/apps/details/com.github._4lex4.ScanTailor-Advanced

    opened by pprw 1
  • Error compilaton

    Error compilaton

    Slackware 15

    error compilation scantailor 1.0.16.

    [ 41%] Building CXX object foundation/CMakeFiles/foundation.dir/PropertyFactory.cpp.o
    [ 42%] Building CXX object foundation/CMakeFiles/foundation.dir/PropertySet.cpp.o
    [ 42%] Building CXX object foundation/CMakeFiles/foundation.dir/PerformanceTimer.cpp.o
    [ 42%] Building CXX object foundation/CMakeFiles/foundation.dir/QtSignalForwarder.cpp.o
    [ 42%] Building CXX object foundation/CMakeFiles/foundation.dir/GridLineTraverser.cpp.o
    [ 42%] Linking CXX static library libfoundation.a
    [ 42%] Built target foundation
    [ 42%] Building CXX object math/CMakeFiles/math.dir/LinearSolver.cpp.o
    [ 42%] Building CXX object math/CMakeFiles/math.dir/SidesOfLine.cpp.o
    [ 42%] Building CXX object math/CMakeFiles/math.dir/ToLineProjector.cpp.o
    /tmp/SBo/scantailor-advanced-1.0.16/math/ToLineProjector.cpp: In constructor ‘ToLineProjector::ToLineProjector(const QLineF&)’:
    /tmp/SBo/scantailor-advanced-1.0.16/math/ToLineProjector.cpp:27:23: error: ‘numeric_limits’ was not declared in this scope
       27 |   if (std::abs(AtA) > numeric_limits<double>::epsilon()) {
          |                       ^~~~~~~~~~~~~~
    /tmp/SBo/scantailor-advanced-1.0.16/math/ToLineProjector.cpp:27:38: error: expected primary-expression before ‘double’
       27 |   if (std::abs(AtA) > numeric_limits<double>::epsilon()) {
          |                                      ^~~~~~
    /tmp/SBo/scantailor-advanced-1.0.16/math/ToLineProjector.cpp:27:38: error: expected ‘)’ before ‘double’
       27 |   if (std::abs(AtA) > numeric_limits<double>::epsilon()) {
          |      ~                               ^~~~~~
          |                                      )
    make[2]: *** [math/CMakeFiles/math.dir/build.make:104: math/CMakeFiles/math.dir/ToLineProjector.cpp.o] Błąd 1
    make[1]: *** [CMakeFiles/Makefile2:715: math/CMakeFiles/math.dir/all] Błąd 2
    make: *** [Makefile:166: all] Błąd 2
    
    
    opened by pit65 2
Releases(2019.8.16_EA)
  • 2019.8.16_EA(Aug 16, 2019)

  • v1.0.16(Jul 17, 2018)

    Donate! (USD | RUB)


    Changelog:

    • Fixed lags of thumbnails view on resizing and scaling.
    • An instant effect on applying thumbnail quality. It's possible to switch thumbnail quality while working on a project with the changes applied immediately. For each quality chosen a cache is created.
      Usage example: you could use this feature for the preview purpose, which is faster than simple navigating between pages. Undock the thumbnails panel, set the quality, for ex., to 700, and size to 1000. You can mark problem pages with Ctrl+Click on a thumbnail and navigate between these selected pages after finishing to fix them. To finish the preview change the quality and size values back and dock the panel.
    • Added buttons to navigate between pages.
    • Fixes for the auto and original alignment modes.
    • Additional modifiers for auto adjusting content area. On double clicking inside the content box hold Shift pressed to select left or right edge only or Ctrl to select top or bottom one, or Shift+Ctrl to adjust both the nearest vertical and horizontal edges.
    • Other fixes and improvements.
    Source code(tar.gz)
    Source code(zip)
    scantailor-advanced-1.0.16-win32.exe(9.14 MB)
    scantailor-advanced-1.0.16-win64.exe(10.75 MB)
  • v1.0.15(Jul 6, 2018)

    Note: x32 version supports Windows XP.

    Changelog:

    • Implemented the guides feature.
    • Change the way of the adjustment of the despeckle strength. Now that's set via the slider. It allows to adjust the despeckle strength more smoothly and exactly. Value 1.0 matches the old cautious mode, 2.0 - normal and 3.0 - aggressive.
    • Improve and return black on white detection feature.
    • Added native color scheme and made various fixes and improvements on the Dark and Light schemes.
    • Improvements on the thumbnails view:
      • Saving selection of pages on filter switch.
      • Separate highlighting for selection leader in thumbnails.
      • Navigating between selected pages. Use Shift+PgUp/Q and Shift+PgDown/W to navigate between selected pages.
      • More accurate multi-column list handling (Author: Alexander Trufanov).
      • Scaling thumbnails via Alt+Wheel (Author: Alexander Trufanov).
    • Added options in the settings to manage the quality and size of thumbnails.
    • Added order by completeness sort on the output stage.
      Moving incompleted pages to the end allows to process them in batch mode without processing the completed pages.
    • Improved the lasso mode on zone creation. Also the hotkey is changed to Shift+Alt+LMB due to the old combination did not work on Linux.
    • Added fill offcut option at the output stage.
    • Now split layers are removed if the color mode was changed to any except mixed.
    • Fixed portability issues and added CPack packaging support. (More info)
    • Fixed blink of the image view on Windows.
    • Other fixes and improvements.
    Source code(tar.gz)
    Source code(zip)
    scantailor-advanced-1.0.15-win32.exe(7.75 MB)
    scantailor-advanced-1.0.15-win64.exe(9.36 MB)
  • v1.0.13(Mar 28, 2018)

  • v1.0.12(Mar 2, 2018)

    Change log:

    • Implemented the feature of auto adjusting content area.
    • Deviation parameters added into the settings dialog. The deviation default settings have been calibrated.
    • Improved: The follow page button is no more activated automatically on switching a sorting method or on going to the previous/next page.
    • Auto and original alignment modes reworked.
    • Added the ability to separately control vertical and horizontal automatic alignment when auto or original alignment mode enabled.
    Source code(tar.gz)
    Source code(zip)
    scantailor-advanced-1.0.12-x32-win-xp.7z(17.83 MB)
    scantailor-advanced-1.0.12-x32.7z(8.62 MB)
    scantailor-advanced-1.0.12-x64.7z(8.47 MB)
  • v1.0.11(Feb 19, 2018)

  • v1.0.10(Feb 18, 2018)

    Change-log:

    • Added color adjustments settings for color segmenter.
    • Fixed: rectangular picture auto zones are incorrectly shifted.
    • Support for any type of input image.
    • Default parameters don't more require processing to convert units. It caused a bug on margins stage.
    • Improved: a default parameters profile can now be edited.
    • Added page count info beside page number into status bar.
    • Posterization improved:
      • Posterization can now correctly handle with pale images. It's become possible due to normalizing the source image before posterizing.
      • Added normalize option so as to add the ability to get normalized output.
      • Force b&w option has been reworked.
    • Improved: Follow page button is no more activated automatically on switching a filter if the button was inactivated before. Instead of that behavior ST now saves the sliders positions. Note: The old behavior caused some problems of loosing the position of the page sequence worked on if not natural sorting enabled.
    • Collapsible filter options.
    • Added "Higher search sensitivity" option into picture shape options. It gives the same search result as it was in Enhanced (& Featured) versions.
    • Deviation feature reworked and added sorting by decreasing deviation.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.9(Feb 7, 2018)

    Change-log:

    Source code(tar.gz)
    Source code(zip)
  • v1.0.8(Dec 2, 2017)

  • v1.0.7(Nov 29, 2017)

    Change log:

    • Fix for high DPI (ex. 4K) displays.
    • Pages without content box will be blank at output. A content box deleted manually won't more be reset to the page bounds on reloading.
    • On placing a new filling zone over another it now overlaps the older one.
    • "Quadro" picture shape mode was merged with rectangular. Also removed the restriction of ver. Featured on deleting all the auto zones. Before it resulted in resetting all the auto zones back. Added sensitivity option. If sensitivity equals 25%, the results will be the same as they were in old "Quadro" mode, if 100% - as in old "Rectangular".
    • Fixed bug come from ver. Featured: filling zones were set to wrong positions in their view after manual / marginal dewarping with post deskew enabled.
    • Auto detection of the white on black option for Sauvola and Wolf binarization methods on the first time processing.
    • Applied some fixes from ver. Universal.
    • Other improvements and fixes.

    Warning! Old project files aren't compatible with this version.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.6(Nov 20, 2017)

    Changelog:

    • Fixed bug from Enhanced: applying manual deskew settings to a multitude of pages didn't work for the pages with a size different from that of the page the setting is applied to. That resulted in resetting those pages to auto mode on processing. Also now deskew changes have effect on thumbnails instantly without forcing to reload the pages.
    • Start batch processing dialog from Enhanced removed.
    • Splitting output options are moved out of the color settings. Splitting options have its own "Apply To" dialog and button now.
    • Fixed a bug of the official ST: ST could crash on output when outer margins and content rectangle are "touch" by its sides on margins stage.
    • Fixed: on switching to manual alignment mode from any other the content rectangle was always placed at the top center instead of the place set by the align buttons.
    • Fixed: Subtracting picture zones, placed over an auto layer picture zone, no more blink on zoom.
    • Fixed: Picture zone type used wasn't sometimes saved on page switching.
    • Added option to control highlighting (with red asterisks) the thumbnails of pages with high deviation. The option refreshes the thumbnails instantly.
    • Fixed: page layout view didn't consider splitting settings. Corresponding improvements are done to thumbnails.
    • Fixed: on applying a content box to other pages it could be set out of the page bounds.
    • Fixed: possible mixed pixels in the output image of right page after splitting.
    • Various fixes of thumbnails drawing.
    • Changed Scan Tailor behavior on page split stage.
      1. Reworked apply cut feature. Now on applying cut to the pages with different dimensions than the page the cut applied to, Scan Tailor tries to adapt cutters instead of fully rejecting the cut setting and switching to auto mode for those pages as it was before. The later was annoying as pages could be similar and had the difference in a few pixels.
      2. Added check to reject invalid cut settings in manual mode.
      3. UI: Added cutters interaction between each other. They can't more intersect each other, which created a wrong page layout configuration before.
    • Fixed bug from Enhanced: on select content stage after saving and reopening the project the thumbnail could change its position on the page loading when sorting enabled.
    • Now outside pixels of color images are filled with the background dominant color not gray. The respective feature has been implemented. Also added filling setting with the following options:
      1. Background: estimate the background and fill outside pixels with its color.
      2. White: always fill with white.
    • Tiff compression feature reworked. Now there are two options in settings dialog: B&W and color compression.
      • The B&W one has None, LZW, Deflate and CCITT G4 options.
      • The color one has None, LZW, Deflate and JPEG options.
    • Other changes.

    Warning! Project files of older versions of ST are not compatible with this version.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.5(Nov 3, 2017)

  • v1.0.4(Oct 29, 2017)

    Changes:

    • fixed bug from Enhanced: picture_shape in mixed mode wasn't saved in the project file that caused reloading page on every restart in output mode.
    • fixed: filling color wasn't adapted on brightness change.
    • improved output processing in B&W mode when illumination equalization disabled.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Oct 24, 2017)

    Changes:

    • Images libraries reconfigured (the old configuration could cause some problems with some images).

    Warning for a user of a 32-bit system: the count of threads for multi-threaded batch processing is limited to 2 threads due to memory constraints. And that is intended only for systems with 2GB RAM. If you have only 1GB RAM and lower, don't use this feature and set the count of threads to 1. Otherwise you are risking to get "out of memory" error.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Oct 19, 2017)

    Changes:

    • Added option to disable post-deskew on dewarping. It should be applied to a cover with geometric distortions and without any text lines which the auto-deskew algorithm could rely on. Also it can be applied to pages with those that have non-horizontal text lines as part of the design and so the auto-deskew algorithm fails on that kind of pages.

      The setting is located at Output -> Dewarping -> Change... -> Post deskew

    • Fixed: Post-deskew on dewarping enabled now fills the outside pixels with the dominant gray color in a color mode.

    • Added option to control white on black mode for the adaptive binarization methods. It should be enabled when the text or content is lighter than the background.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Oct 16, 2017)

  • v1.0.0(Oct 15, 2017)

Implementation of our paper 'PixelLink: Detecting Scene Text via Instance Segmentation' in AAAI2018

Code for the AAAI18 paper PixelLink: Detecting Scene Text via Instance Segmentation, by Dan Deng, Haifeng Liu, Xuelong Li, and Deng Cai. Contributions

758 Dec 22, 2022
Official code for :rocket: Unsupervised Change Detection of Extreme Events Using ML On-Board :rocket:

RaVAEn The RaVÆn system We introduce the RaVÆn system, a lightweight, unsupervised approach for change detection in satellite data based on Variationa

SpaceML 35 Jan 05, 2023
MeshToGeotiff - A fast Python algorithm to convert a 3D mesh into a GeoTIFF

MeshToGeotiff - A fast Python algorithm to convert a 3D mesh into a GeoTIFF Python class for converting (very fast) 3D Meshes/Surfaces to Raster DEMs

8 Sep 10, 2022
RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition

RepMLP RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition Released the code of RepMLP together with an example o

260 Jan 03, 2023
Solution for Problem 1 by team codesquad for AIDL 2020. Uses ML Kit for OCR and OpenCV for image processing

CodeSquad PS1 Solution for Problem Statement 1 for AIDL 2020 conducted by @unifynd technologies. Problem Given images of bills/invoices, the task was

Burhanuddin Udaipurwala 111 Nov 27, 2022
Image processing is one of the most common term in computer vision

Image processing is one of the most common term in computer vision. Computer vision is the process by which computers can understand images and videos, and how they are stored, manipulated, and retri

Happy N. Monday 3 Feb 15, 2022
Omdena-abuja-anpd - Automatic Number Plate Detection for the security of lives and properties using Computer Vision.

Omdena-abuja-anpd - Automatic Number Plate Detection for the security of lives and properties using Computer Vision.

Abdulazeez Jimoh 1 Jan 01, 2022
OCR engine for all the languages

Description kraken is a turn-key OCR system optimized for historical and non-Latin script material. kraken's main features are: Fully trainable layout

431 Jan 04, 2023
Balabobapy - Using artificial intelligence algorithms to continue the text

Balabobapy - Using artificial intelligence algorithms to continue the text

qxtony 1 Feb 04, 2022
Learning Camera Localization via Dense Scene Matching, CVPR2021

This repository contains code of our CVPR 2021 paper - "Learning Camera Localization via Dense Scene Matching" by Shitao Tang, Chengzhou Tang, Rui Hua

tangshitao 65 Dec 01, 2022
Turn images of tables into CSV data. Detect tables from images and run OCR on the cells.

Table of Contents Overview Requirements Demo Modules Overview This python package contains modules to help with finding and extracting tabular data fr

Eric Ihli 311 Dec 24, 2022
🖺 OCR using tensorflow with attention

tensorflow-ocr 🖺 OCR using tensorflow with attention, batteries included Installation git clone --recursive http://github.com/pannous/tensorflow-ocr

646 Nov 11, 2022
TextBoxes re-implement using tensorflow

TextBoxes-TensorFlow TextBoxes re-implementation using tensorflow. This project is greatly inspired by slim project And many functions are modified ba

Gu Xiaodong 44 Dec 29, 2022
Super Mario Game With Python

Super_Mario Hello all this is a simple python program which tries to use our body as a controller for the super mario game Here I have used media pipe

Adarsh Badagala 219 Nov 25, 2022
The code for CVPR2022 paper "Likert Scoring with Grade Decoupling for Long-term Action Assessment".

Likert Scoring with Grade Decoupling for Long-term Action Assessment This is the code for CVPR2022 paper "Likert Scoring with Grade Decoupling for Lon

10 Oct 21, 2022
MORAN: A Multi-Object Rectified Attention Network for Scene Text Recognition

MORAN: A Multi-Object Rectified Attention Network for Scene Text Recognition Python 2.7 Python 3.6 MORAN is a network with rectification mechanism for

Canjie Luo 595 Dec 27, 2022
A real-time dolly zoom camera effect

Dolly-Zoom I've always been amazed by the gradual perspective change of dolly zoom, and I have some experience in python and OpenCV, so I decided to c

Dylan Kai Lau 52 Dec 08, 2022
Tool which allow you to detect and translate text.

Text detection and recognition This repository contains tool which allow to detect region with text and translate it one by one. Description Two pretr

Damian Panek 176 Nov 28, 2022
This is a GUI for scrapping PDFs with the help of optical character recognition making easier than ever to scrape PDFs.

pdf-scraper-with-ocr With this tool I am aiming to facilitate the work of those who need to scrape PDFs either by hand or using tools that doesn't imp

Jacobo José Guijarro Villalba 75 Oct 21, 2022
A curated list of awesome synthetic data for text location and recognition

awesome-SynthText A curated list of awesome synthetic data for text location and recognition and OCR datasets. Text location SynthText SynthText_Chine

Tianzhong 283 Jan 05, 2023