From 12cb3bf4abdaffd60508a12e38d2de0a14c46190 Mon Sep 17 00:00:00 2001 From: Gres Date: Sun, 26 Jan 2020 21:35:16 +0300 Subject: [PATCH] Adjust to rescent tesseract version --- ImageProcessing.cpp | 3 +-- LanguageHelper.cpp | 4 ++-- Recognizer.cpp | 3 --- SettingsEditor.cpp | 8 ++------ SettingsEditor.ui | 11 ++++++----- 5 files changed, 11 insertions(+), 18 deletions(-) diff --git a/ImageProcessing.cpp b/ImageProcessing.cpp index 2e25dff..59d2573 100644 --- a/ImageProcessing.cpp +++ b/ImageProcessing.cpp @@ -2,8 +2,6 @@ #include -#include - #include "ImageProcessing.h" #include "StAssert.h" @@ -128,6 +126,7 @@ Pix * prepareImage (const QImage &image, int preferredScale) { Pix *scaled = gray; if (preferredScale > 0) { + const auto MAX_INT16 = 0x7fff; float maxScaleX = MAX_INT16 / double (gray->w); float scaleX = std::min (float (preferredScale), maxScaleX); float maxScaleY = MAX_INT16 / double (gray->h); diff --git a/LanguageHelper.cpp b/LanguageHelper.cpp index 883c4f0..811ce29 100644 --- a/LanguageHelper.cpp +++ b/LanguageHelper.cpp @@ -23,12 +23,12 @@ const QStringList &LanguageHelper::availableOcrLanguages () const { } QStringList LanguageHelper::availableOcrLanguages (const QString &path) const { - QDir dir (path + "/tessdata/"); + QDir dir (path); if (!dir.exists ()) { return QStringList (); } QStringList items; - QStringList files = dir.entryList (QStringList () << "*.traineddata", QDir::Files); + QStringList files = dir.entryList ({"*.traineddata"}, QDir::Files); foreach (const QString &file, files) { QString lang = file.left (file.indexOf (".")); items << lang; diff --git a/Recognizer.cpp b/Recognizer.cpp index ce94ace..3111711 100644 --- a/Recognizer.cpp +++ b/Recognizer.cpp @@ -24,9 +24,6 @@ void Recognizer::applySettings () { tessDataDir_ = settings.value (settings_names::tessDataPlace, settings_values::tessDataPlace).toString (); - if (tessDataDir_.right (1) != "/") { - tessDataDir_ += "/"; - } ocrLanguage_ = settings.value (settings_names::ocrLanguage, settings_values::ocrLanguage).toString (); imageScale_ = settings.value (settings_names::imageScale, diff --git a/SettingsEditor.cpp b/SettingsEditor.cpp index 47d2c2f..17246c1 100644 --- a/SettingsEditor.cpp +++ b/SettingsEditor.cpp @@ -152,15 +152,11 @@ void SettingsEditor::saveSettings () const { } void SettingsEditor::openTessdataDialog () { - QString path = QFileDialog::getExistingDirectory (this, tr ("Путь к tessdata")); + QString path = QFileDialog::getExistingDirectory (this, tr ("Path to tessdata")); if (path.isEmpty ()) { return; } - QDir dir (path); - if (dir.dirName () == QString ("tessdata")) { - dir.cdUp (); - } - ui->tessdataEdit->setText (dir.path ()); + ui->tessdataEdit->setText (path); } void SettingsEditor::loadSettings () { diff --git a/SettingsEditor.ui b/SettingsEditor.ui index a28dd18..77a9af4 100644 --- a/SettingsEditor.ui +++ b/SettingsEditor.ui @@ -270,11 +270,8 @@ - - <html><head/><body><p>Необходимо для распознавания.</p><p>Скачивается отсюда: <a href="https://github.com/tesseract-ocr/tessdata"><span style=" text-decoration: underline; color:#7593bc;">https://github.com/tesseract-ocr/tessdata</span></a></p><p>&quot;./&quot; означает, что папка &quot;tessdata&quot; находится в одной директории с исполняемым файлом программы.</p></body></html> - - Путь к tessdata + Path to tessdata tessdataEdit @@ -282,7 +279,11 @@ - + + + Enter path + +