Qt文字识别

这篇博客详细介绍了如何使用Qt框架,采用C++语言实现中英文的文字识别功能,探讨了OCR技术在Qt环境下的纯C++实现过程。
摘要由CSDN通过智能技术生成

Qt中英文识别OCR纯c++编写

#ifndef OCRAPPLICATION_H
#define OCRAPPLICATION_H


#include "ocrabstractmoveresizewidget.h"

class OCRThreadItem;
class OCRApplicationObject;

namespace Ui {
   
class OCRApplication;
}

/*! @brief The class of the app main widget.
 * @author Greedysky <greedysky@163.com>
 */
class TTK_MODULE_EXPORT OCRApplication : public OCRAbstractMoveResizeWidget
{
   
    Q_OBJECT
    TTK_DECLARE_MODULE(OCRApplication)
public:
    /*!
     * Object contsructor.
     */
    explicit OCRApplication(QWidget *parent = nullptr);
    ~OCRApplication();

    /*!
     * Get class object instance.
     */
    static OCRApplication *instance();

public Q_SLOTS:
    /*!
     * Application window close.
     */
    void quitWindowClose();
    /*!
     * Open button clicked.
     */
    void openButtonClicked();
    /*!
     * Screenshot button clicked.
     */
    void screenshotButtonClicked();
    /*!
     * Start button clicked.
     */
    void startButtonClicked();
    /*!
     * Clear button clicked.
     */
    void clearButtonClicked();
    /*!
     * Find finished.
     */
    void findFinish();
    /*!
     * Pixmap data Changed.
     */
    void pixmapChanged(const QPixmap &pix);

private:
    /*!
     * Delete all items.
     */
    void deleteItems();
    /*!
     * Detect state changed.
     */
    void stateChanged(bool state);

    Ui::OCRApplication *m_ui;

    int m_count;
    OCRApplicationObject *m_applicationObject;
    QList<OCRThreadItem*> m_fileList;

    static OCRApplication *m_instance;
};

#endif // OCRAPPLICATION_H

#include "ocrapplication.h"
#include "ui_ocrapplication.h"
#include "ocrapplicationobject.h"
#include "ocrfunctionlistuiobject.h"
#include "ocrwidgetutils.h"
#include "ocrcoreutils.h"
#include "ocrgrabwidget.h"
#include "ocrthread.h"
#include "ocruiobject.h"
#ifdef TTK_BUILD_BY_PDF
#  include "include/mupdf-qt.h"
#endif
#include <QScrollBar>

OCRApplication *OCRApplication::m_instance = nullptr;

OCRApplication::OCRApplication(QWidget *parent)
    : OCRAbstractMoveResizeWidget(parent),
      m_ui(new Ui::OCRApplication)
{
   
    m_instance = this;
    setAttribute(Qt::WA_TranslucentBackground, false);

    m_count = 0;
    m_applicationObject = new OCRApplicationObject(this);
    
    m_ui->setupUi(this);

    setMinimumSize(WINDOW_WIDTH_MIN, WINDOW_HEIGHT_MIN);
    setMaximumSize(WINDOW_WIDTH_MIN, WINDOW_HEIGHT_MIN);

    m_ui->iconLabel->setPixmap(QPixmap(":/image/lb_app_logo").scaled(m_ui->iconLabel->size()));
    m_ui->background->
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vqt5_qt6

你的鼓励是我们创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值