Re: Scan Tailor Advanced
Posted: 03 Jan 2018, 16:59
Scanallthebooks, https://github.com/4lex4/scantailor-adv ... ilestone/2
A set of discussions about DIY Book Scanners
https://diybookscanner.org/forum/
I have thought of this too. Perhaps a feature where you can add a user defined amount of pixels to the content selection box and be able to apply for all pages. Then you can run the automatic content selection and the afterwards just increase the box for all pages.Content Selection
Thank you for fixing the cutting content bug. However i want to ask if it is possible to create a slider so one can choose the degree of how tight or how loose the content selection boundary works.
I believe that crash happened when auto-margins feature from ver. Enhanced was enabled. It had the bad realization and crashed in multi-threaded environment. I fixed it a month ago while reworking that feature and added new features, adding to ST a new fast way to create margins for pages with similar formatting: commit. It will be available in 1.09Bug
Putting the above aside there is an intermittent bug in STA which is difficult to reproduce. In stage 6 output when i quickly select B&W or Grey scale/Color before allowing STA to complete the render it crashes. This only seems to rarely happen. I've been trying to reproduce it last few hours but now doesn't seem happen. v1.08 using Win7-64.
Code: Select all
[ 36%] Building CXX object dewarping/CMakeFiles/dewarping.dir/DistortionModelBuilder.cpp.o
In file included from /Users/siavush/Downloads/scantailor-advanced-1.0.8/dewarping/DistortionModelBuilder.cpp:21:
In file included from /Users/siavush/Downloads/scantailor-advanced-1.0.8/dewarping/CylindricalSurfaceDewarper.h:22:
In file included from /Users/siavush/Downloads/scantailor-advanced-1.0.8/math/HomographicTransform.h:23:
/Users/siavush/Downloads/scantailor-advanced-1.0.8/math/MatrixCalc.h:153:16: error: calling a private constructor of class
'mcalc::Mat<double>'
return mcalc::Mat<T>(&m_alloc, data, rows, cols);
^
/Users/siavush/Downloads/scantailor-advanced-1.0.8/dewarping/DistortionModelBuilder.cpp:487:15: note: in instantiation of member
function 'MatrixCalc<double, mcalc::DynamicPoolAllocator<double> >::operator()' requested here
mc(&At[0], 2, polyline_size).transWrite(&A[0]);
^
/Users/siavush/Downloads/scantailor-advanced-1.0.8/math/MatrixCalc.h:130:9: note: declared private here
Mat(AbstractAllocator<T>* alloc, T const* data, int rows, int cols)
^
1 error generated.
make[2]: *** [dewarping/CMakeFiles/dewarping.dir/DistortionModelBuilder.cpp.o] Error 1
make[1]: *** [dewarping/CMakeFiles/dewarping.dir/all] Error 2
make: *** [all] Error 2
Code: Select all
IF (UNIX)
SET (CMAKE C COMPILER "/usr/local/Cellar/gcc/7.2.0_1/bin/x86_64-apple-darwin17.3.0-gcc-7")
SET (CMAKE CXX COMPILER "/usr/local/Cellar/gcc/7.2.0_1/bin/x86_64-apple-darwin17.3.0-g++-7")
set(CMAKE_CXX_STANDARD 11)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
ENDIF ()
Code: Select all
In file included from /Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:19:
In file included from /Users/siavush/Downloads/scantailor-advanced-develop/./filters/output/TabbedImageView.h:23:
In file included from /opt/local/libexec/qt5/lib/QtWidgets.framework/Headers/QWidget:1:
In file included from /opt/local/libexec/qt5/lib/QtWidgets.framework/Headers/qwidget.h:43:
In file included from /opt/local/libexec/qt5/lib/QtWidgets.framework/Headers/qtwidgetsglobal.h:43:
In file included from /opt/local/libexec/qt5/lib/QtGui.framework/Headers/qtguiglobal.h:43:
In file included from /opt/local/libexec/qt5/lib/QtCore.framework/Headers/qglobal.h:45:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:1464:38: error:
implicit instantiation of undefined template 'std::__1::hash<output::ImageViewTab>'
: public integral_constant<bool, __is_empty(_Tp)> {};
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:383:18: note: in
instantiation of template class 'std::__1::is_empty<std::__1::hash<output::ImageViewTab> >' requested here
bool = is_empty<_Hash>::value && !__libcpp_is_final<_Hash>::value
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:765:13: note: in
instantiation of default argument for '__unordered_map_hasher<output::ImageViewTab,
std::__1::__hash_value_type<output::ImageViewTab, QRectF>, std::__1::hash<output::ImageViewTab> >' required here
typedef __unordered_map_hasher<key_type, __value_type, hasher> __hasher;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:79:31: note: in instantiation of template
class 'std::__1::unordered_map<output::ImageViewTab, QRectF, std::__1::hash<output::ImageViewTab>,
std::__1::equal_to<output::ImageViewTab>, std::__1::allocator<std::__1::pair<const output::ImageViewTab, QRectF> > >'
requested here
if (m_tabImageRectMap == nullptr) {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:397:50: note:
template is declared here
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash;
^
/Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:158:30: warning: using the result of an
assignment as a condition without parentheses [-Wparentheses]
if (resource = findImageViewBase(dynamic_cast<QWidget*>(child))) {
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:158:30: note: place parentheses around the
assignment to silence this warning
if (resource = findImageViewBase(dynamic_cast<QWidget*>(child))) {
^
( )
/Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:158:30: note: use '==' to turn this
assignment into an equality comparison
if (resource = findImageViewBase(dynamic_cast<QWidget*>(child))) {
^
==
In file included from /Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:19:
In file included from /Users/siavush/Downloads/scantailor-advanced-develop/./filters/output/TabbedImageView.h:26:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:369:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:2203:21: error:
called object type 'hasher' (aka 'int') is not a function or function pointer
size_t __hash = hash_function()(__k);
^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:2432:35: note: in
instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<output::ImageViewTab,
QRectF>, int, std::__1::__unordered_map_equal<output::ImageViewTab, std::__1::__hash_value_type<output::ImageViewTab, QRectF>,
std::__1::equal_to<output::ImageViewTab>, true>, std::__1::allocator<std::__1::__hash_value_type<output::ImageViewTab, QRectF>
> >::find<output::ImageViewTab>' requested here
return static_cast<size_type>(find(__k) != end());
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:1116:65: note: in
instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<output::ImageViewTab,
QRectF>, int, std::__1::__unordered_map_equal<output::ImageViewTab, std::__1::__hash_value_type<output::ImageViewTab, QRectF>,
std::__1::equal_to<output::ImageViewTab>, true>, std::__1::allocator<std::__1::__hash_value_type<output::ImageViewTab, QRectF>
> >::__count_unique<output::ImageViewTab>' requested here
size_type count(const key_type& __k) const {return __table_.__count_unique(__k);}
^
/Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:89:33: note: in instantiation of member
function 'std::__1::unordered_map<output::ImageViewTab, QRectF, std::__1::hash<output::ImageViewTab>,
std::__1::equal_to<output::ImageViewTab>, std::__1::allocator<std::__1::pair<const output::ImageViewTab, QRectF> > >::count'
requested here
if ((m_tabImageRectMap->count(old_view_tab) == 0) || (m_tabImageRectMap->count(new_view_tab) == 0)) {
^
In file included from /Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:19:
In file included from /Users/siavush/Downloads/scantailor-advanced-develop/./filters/output/TabbedImageView.h:26:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:369:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:2172:21: error:
called object type 'hasher' (aka 'int') is not a function or function pointer
size_t __hash = hash_function()(__k);
^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:1112:69: note: in
instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<output::ImageViewTab,
QRectF>, int, std::__1::__unordered_map_equal<output::ImageViewTab, std::__1::__hash_value_type<output::ImageViewTab, QRectF>,
std::__1::equal_to<output::ImageViewTab>, true>, std::__1::allocator<std::__1::__hash_value_type<output::ImageViewTab, QRectF>
> >::find<output::ImageViewTab>' requested here
iterator find(const key_type& __k) {return __table_.find(__k);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:1456:20: note: in
instantiation of member function 'std::__1::unordered_map<output::ImageViewTab, QRectF, std::__1::hash<output::ImageViewTab>,
std::__1::equal_to<output::ImageViewTab>, std::__1::allocator<std::__1::pair<const output::ImageViewTab, QRectF> > >::find'
requested here
iterator __i = find(__k);
^
/Users/siavush/Downloads/scantailor-advanced-develop/filters/output/TabbedImageView.cpp:92:58: note: in instantiation of member
function 'std::__1::unordered_map<output::ImageViewTab, QRectF, std::__1::hash<output::ImageViewTab>,
std::__1::equal_to<output::ImageViewTab>, std::__1::allocator<std::__1::pair<const output::ImageViewTab, QRectF> > >::at'
requested here
QRectF const& old_view_rect = m_tabImageRectMap->at(old_view_tab);
^
1 warning and 3 errors generated.
make[2]: *** [filters/output/CMakeFiles/output.dir/TabbedImageView.cpp.o] Error 1
make[1]: *** [filters/output/CMakeFiles/output.dir/all] Error 2
make: *** [all] Error 2