Use selected language in selection dialog if any.
This commit is contained in:
parent
2cf927afb6
commit
fbabb671e8
@ -31,12 +31,12 @@ void Recognizer::applySettings()
|
|||||||
imageScale_ = settings.value (settings_names::imageScale,
|
imageScale_ = settings.value (settings_names::imageScale,
|
||||||
settings_values::imageScale).toInt ();
|
settings_values::imageScale).toInt ();
|
||||||
|
|
||||||
initEngine (engine_);
|
initEngine (engine_, ocrLanguage_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Recognizer::initEngine(tesseract::TessBaseAPI *&engine)
|
bool Recognizer::initEngine(tesseract::TessBaseAPI *&engine, const QString& language)
|
||||||
{
|
{
|
||||||
if (tessDataDir_.isEmpty () || ocrLanguage_.isEmpty ())
|
if (tessDataDir_.isEmpty () || language.isEmpty ())
|
||||||
{
|
{
|
||||||
emit error (tr ("Неверные параметры для OCR"));
|
emit error (tr ("Неверные параметры для OCR"));
|
||||||
return false;
|
return false;
|
||||||
@ -46,7 +46,7 @@ bool Recognizer::initEngine(tesseract::TessBaseAPI *&engine)
|
|||||||
delete engine;
|
delete engine;
|
||||||
}
|
}
|
||||||
engine = new tesseract::TessBaseAPI();
|
engine = new tesseract::TessBaseAPI();
|
||||||
int result = engine->Init(qPrintable (tessDataDir_), qPrintable (ocrLanguage_),
|
int result = engine->Init(qPrintable (tessDataDir_), qPrintable (language),
|
||||||
tesseract::OEM_DEFAULT);
|
tesseract::OEM_DEFAULT);
|
||||||
if (result != 0)
|
if (result != 0)
|
||||||
{
|
{
|
||||||
@ -66,7 +66,8 @@ void Recognizer::recognize(ProcessingItem item)
|
|||||||
tesseract::TessBaseAPI* engine = (isCustomLanguage) ? NULL : engine_;
|
tesseract::TessBaseAPI* engine = (isCustomLanguage) ? NULL : engine_;
|
||||||
if (engine == NULL)
|
if (engine == NULL)
|
||||||
{
|
{
|
||||||
if (!initEngine (engine))
|
QString language = (isCustomLanguage) ? item.ocrLanguage : ocrLanguage_;
|
||||||
|
if (!initEngine (engine, language))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ class Recognizer : public QObject
|
|||||||
void applySettings ();
|
void applySettings ();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool initEngine (tesseract::TessBaseAPI*&engine);
|
bool initEngine (tesseract::TessBaseAPI*&engine, const QString &language);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
tesseract::TessBaseAPI* engine_;
|
tesseract::TessBaseAPI* engine_;
|
||||||
|
Loading…
Reference in New Issue
Block a user