dtkmultimedia
DTK Multimedia module
载入中...
搜索中...
未找到
docr.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DOCR_H
6#define DOCR_H
7
8#include "dtkocr.h"
9
10#include <QList>
11#include <QObject>
12#include <QPointF>
13
14DOCR_BEGIN_NAMESPACE
15
16enum HardwareID {
17 Network = -1,
18 CPU_Any = 0,
19 CPU_X86,
20 CPU_AArch64,
21 CPU_MIPS,
22 CPU_LoongArch,
23 CPU_SW,
24 CPU_RISC_V,
25
26 GPU_Any = 100,
27 GPU_Vulkan,
28 GPU_NVIDIA,
29 GPU_AMD,
30 GPU_Intel,
31 GPU_MT,
32 GPU_JM,
33 GPU_Loongson,
34 GPU_Innosilicon,
35 GPU_LM,
36 GPU_BR
37};
38
39struct TextBox
40{
41 QList<QPointF> points;
42 qreal angle;
43};
44
45class DOcrPrivate;
46class DOcr : public QObject
47{
48 Q_OBJECT
49 Q_DECLARE_PRIVATE(DOcr)
50
51public:
52 explicit DOcr(QObject *parent = nullptr);
53 ~DOcr();
54 QStringList installedPluginNames();
56 bool loadPlugin(const QString &pluginName);
57 bool pluginReady() const;
58 QList<HardwareID> hardwareSupportList() const;
59 bool setUseHardware(const QList<QPair<HardwareID, int>> &hardwareUsed);
61 QStringList authKeys() const;
62 bool setAuth(const QStringList &params);
63 QStringList imageFileSupportFormats() const;
64 bool setImageFile(const QString &filePath);
65 bool setImage(const QImage &image);
66 QImage imageCached() const;
67 QString pluginExpandParam(const QString &key) const;
68 bool setPluginExpandParam(const QString &key, const QString &value);
69 bool analyze();
71 bool isRunning() const;
72 QStringList languageSupport() const;
73 bool setLanguage(const QString &language);
74 QList<TextBox> textBoxes() const;
75 QList<TextBox> charBoxes(int index) const;
76 QString simpleResult() const;
77 QString resultFromBox(int index) const;
78
79protected:
80 QScopedPointer<DOcrPrivate> d_ptr;
81};
82
83DOCR_END_NAMESPACE
84
85#endif
Definition docr.h:47
bool breakAnalyze()
设置中断当前识别操作,执行此函数前需要确保插件已就绪
bool setImage(const QImage &image)
设置需要识别的图片,执行此函数前需要确保插件已就绪
bool loadPlugin(const QString &pluginName)
通过插件名加载已安装的插件
QStringList languageSupport() const
获取插件支持的语种列表,执行此函数前需要确保插件已就绪
bool loadDefaultPlugin()
加载默认插件,默认插件内嵌在 dtkocr 中,可以直接使用
QString simpleResult() const
获取格式简单的整体识别结果,执行此函数前需要确保插件已就绪
QStringList imageFileSupportFormats() const
获取支持读取的图片文件类型,执行此函数前需要确保插件已就绪
bool setImageFile(const QString &filePath)
设置图片文件路径,让插件从文件读取图片,图片的类型需要包含于 DOcr::imageFileSupportFormats 的返回值内,执行此函数前需要确保插件已就绪
QString resultFromBox(int index) const
获取指定文本框内的识别结果,执行此函数前需要确保插件已就绪
bool pluginReady() const
获取插件加载状态
QStringList installedPluginNames()
获取已安装的插件名称列表,不包含默认插件
bool setAuth(const QStringList &params)
设置鉴权参数,执行此函数前需要确保插件已就绪
QString pluginExpandParam(const QString &key) const
获取插件的自定义拓展参数设置情况,执行此函数前需要确保插件已就绪
bool setPluginExpandParam(const QString &key, const QString &value)
设置插件的自定义拓展参数,执行此函数前需要确保插件已就绪
QList< HardwareID > hardwareSupportList() const
获取插件支持的硬件列表,执行此函数前需要确保插件已就绪
QImage imageCached() const
获取之前设置成功的图片数据,执行此函数前需要确保插件已就绪
QStringList authKeys() const
获取插件的鉴权参数关键字,此项一般用于需要额外授权才能使用的插件,执行此函数前需要确保插件已就绪
bool setLanguage(const QString &language)
设置识别的语种,语种需要在包含于 DOcr::languageSupport 函数的返回值中,执行此函数前需要确保插件已就绪
bool setUseHardware(const QList< QPair< HardwareID, int > > &hardwareUsed)
设置允许插件使用的设备,可以一次指定多个设备,执行此函数前需要确保插件已就绪
bool isRunning() const
获取是否正在进行识别操作,此接口的调用位置一般和 DOcr::analyze 函数不在同一个线程内,执行此函数前需要确保插件已就绪
bool analyze()
执行识别操作,识别操作一般耗时较长,程序流程会在此阻塞较长时间,执行此函数前需要确保插件已就绪
QList< TextBox > textBoxes() const
获取识别到的文本框,执行此函数前需要确保插件已就绪
QList< TextBox > charBoxes(int index) const
获取识别到的文本框中的单个字的字符框,执行此函数前需要确保插件已就绪
bool setUseMaxThreadsCount(int n)
设置允许插件最多可以开几个线程,执行此函数前需要确保插件已就绪
Definition docr.h:40