Change preferred ocr resolution

This commit is contained in:
Gres 2020-03-09 14:47:01 +03:00
parent e7fe13c5f0
commit 835714d76d

View File

@ -8,6 +8,8 @@
#include <QBuffer> #include <QBuffer>
#include <limits>
#if defined(Q_OS_LINUX) #if defined(Q_OS_LINUX)
#include <fstream> #include <fstream>
static qint64 getFreeMemory() static qint64 getFreeMemory()
@ -68,14 +70,13 @@ static double getScale(Pix *source)
if (xRes * yRes == 0) if (xRes * yRes == 0)
return -1.0; return -1.0;
const auto preferredScale = std::max(300.0 / std::min(xRes, yRes), 1.0); const auto preferredScale = std::max(500.0 / std::min(xRes, yRes), 1.0);
if (preferredScale <= 1.0) if (preferredScale <= 1.0)
return -1.0; return -1.0;
const auto MAX_INT16 = 0x7fff; const auto maxScaleX = std::numeric_limits<int>::max() / double(source->w);
const auto maxScaleX = MAX_INT16 / double(source->w);
const auto scaleX = std::min(preferredScale, maxScaleX); const auto scaleX = std::min(preferredScale, maxScaleX);
const auto maxScaleY = MAX_INT16 / double(source->h); const auto maxScaleY = std::numeric_limits<int>::max() / double(source->h);
const auto scaleY = std::min(preferredScale, maxScaleY); const auto scaleY = std::min(preferredScale, maxScaleY);
auto scale = std::min(scaleX, scaleY); auto scale = std::min(scaleX, scaleY);