You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake C++环境下配置OpenCV与Tesseract联合开发环境遇到问题

OpenCV 集成 Tesseract 并适配 Qt 5.15 Qmake 配置方案

第一步:重新编译带Tesseract支持的OpenCV模块

  • 首先确认你已经正确编译安装了Leptonica和Tesseract,二者都要生成对应你编译OpenCV时使用的编译器版本的静态/动态库(注意和你Qt用的编译器架构一致,比如都是MSVC2019 64位或者MinGW 64位,架构不匹配一定加载失败)
  • 重新打开CMake-gui加载OpenCV源码,勾选BUILD_opencv_text模块,这是OpenCV封装Tesseract的核心模块
  • 在CMake的搜索条目里手动补全以下变量的值,找不到的话点击Add Entry手动添加:
    • Leptonica_INCLUDE_DIR:填写你编译好的Leptonica的include文件夹路径
    • Leptonica_LIBRARY:填写Leptonica对应的lib文件路径(比如liblept.lib或者libleptonica.a)
    • Tesseract_INCLUDE_DIR:填写Tesseract的include文件夹路径
    • Tesseract_LIBRARY:填写Tesseract对应的lib文件路径(比如tesseract53.lib或者libtesseract.a)
  • 点击Configure确认没有报Tesseract/Leptonica相关的错误后,再点击Generate生成工程,重新编译安装OpenCV,编译完成后确认install目录下的lib文件夹里有opencv_text相关的库文件

第二步:适配Qt Qmake配置

  • 打开你的.pro项目文件,在原有OpenCV的库引入基础上,额外添加Tesseract和Leptonica的头文件与库引用:
# 引入Tesseract和Leptonica头文件
INCLUDEPATH += 你的Tesseract安装路径/include \
               你的Leptonica安装路径/include

# 引入依赖库
LIBS += -L你的Tesseract安装路径/lib -ltesseract \
        -L你的Leptonica安装路径/lib -llept \
        # 对应你的OpenCV版本填写opencv_text库,debug版本加d后缀
        -lopencv_text480
  • 把Tesseract、Leptonica对应的dll文件(如果是动态编译的话)放到你Qt项目生成的exe同目录下,避免运行时找不到依赖

常见问题排查

  • 编译时报Tesseract相关的函数未定义:90%都是库的架构和编译器不匹配,确认你编译Tesseract、Leptonica、OpenCV、Qt项目用的是同一个编译器同一个架构
  • 运行时找不到Tesseract语言包:需要把tessdata文件夹放到exe同目录,或者在代码里调用cv::text::OCRTesseract::create()时手动指定tessdata的路径
  • 如果你的Tesseract是5.x版本,要确保你用的OpenCV版本已经支持5.x接口,过低的OpenCV版本(比如3.x)只能适配Tesseract4.x及以下版本

内容的提问来源于stack exchange,提问作者VolkKiiroi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:27:05