diff --git a/debian/changelog b/debian/changelog index 2f652b7..6db9ce7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +deepin-ocr (6.5.12) unstable; urgency=medium + + * Add the OCR V5 plugin. + + -- dengzhongyuan Thu, 30 Oct 2025 18:42:34 +0800 + deepin-ocr (6.5.11) unstable; urgency=medium * chore: Adjust pkg-config dependency diff --git a/src/engine/OCREngine.cpp b/src/engine/OCREngine.cpp index bddadf5..590ae3f 100644 --- a/src/engine/OCREngine.cpp +++ b/src/engine/OCREngine.cpp @@ -25,8 +25,27 @@ OCREngine::OCREngine() //此处存在产品设计缺陷: 无法选择插件,无鉴权入口,无性能方面的高级设置入口 //因此此处直接硬编码使用默认插件 qCInfo(dmOcr) << "Initializing OCR driver"; + ocrDriver = new Dtk::Ocr::DOcr; - ocrDriver->loadDefaultPlugin(); + const QString ocrV5 = "PPOCR_V5"; + bool load = false; + + auto plugins = ocrDriver->installedPluginNames(); + if (plugins.contains(ocrV5, Qt::CaseInsensitive)) { + if(ocrDriver->loadPlugin(ocrV5)) { + load = true; + qCInfo(dmOcr) << "OCR V5 plugin loaded"; + } + else { + qCWarning(dmOcr) << "Failed to load OCR V5 plugin"; + } + } + + if(!load) { + ocrDriver->loadDefaultPlugin(); + qCInfo(dmOcr) << "Default OCR plugin loaded"; + } + ocrDriver->setUseMaxThreadsCount(2); QFileInfo mtfi("/dev/mtgpu.0"); if (mtfi.exists()) {