Qt and Tesseract Linkage
-
wrote on 26 May 2022, 14:59 last edited by
Hello! How can i amend the pro file to make the program work?
Googled a lot about QT and Tesseract, could not find a solution yet.
Please adviseQT += core
QT -= guiCONFIG += c++11
TARGET = openCV
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
INCLUDEPATH += C:\opencv\release\install\includeLIBS += C:\opencv\release\bin\libopencv_core455.dll
LIBS += C:\opencv\release\bin\libopencv_highgui455.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs455.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc455.dll
LIBS += C:\opencv\release\bin\libopencv_calib3d455.dll
LIBS += C:\opencv\release\bin\libopencv_features2d455.dll
LIBS += C:\opencv\release\bin\libopencv_video455.dll
LIBS += C:\opencv\release\bin\libopencv_videoio455.dll
LIBS += -L"(C:\Program Files(x86)\Tesseract-OCR)" -ltesseractINCLUDEPATH += /usr/include/tesseract
INCLUDEPATH += C:\Program Files(x86)\Tesseract-OCR)
LIBS += C:\Program Files(x86)\Tesseract-OCR)
LIBS +=-LC:\Program Files(x86)\Tesseract-OCR)
-ltesseract.dll
-llept.dllLIBS += -LC:\Qt\opencv_cv2\OPENCV1\build-qt\lib
-lopencv_calib3d249d
-lopencv_contrib249d
-lopencv_core249d
-lopencv_features2d249d
-lopencv_flann249d
-lopencv_gpu249d
-lopencv_highgui249d
-lopencv_imgproc249d
-lopencv_legacy249d
-lopencv_ml249d
-lopencv_nonfree249d
-lopencv_objdetect249d
-lopencv_ocl249d
-lopencv_photo249d
-lopencv_stitching249d
-lopencv_superres249d
-lopencv_ts249d
-lopencv_video249d
-lopencv_videostab249dSOURCES += main.cpp
DEFINES += QT_DEPRECATED_WARNINGS
-
wrote on 26 May 2022, 17:39 last edited by
What errors are you getting? The surrounding parentheses on these lines look odd, especially the ones that don't have a matching open parenthesis. Of the LIB+= lines, you only need the first LIB+= but without the parentheses.
LIBS += -L"(C:\Program Files(x86)\Tesseract-OCR)" -ltesseract INCLUDEPATH += C:\Program Files(x86)\Tesseract-OCR) LIBS += C:\Program Files(x86)\Tesseract-OCR) LIBS +=-LC:\Program Files(x86)\Tesseract-OCR)
-
wrote on 26 May 2022, 17:58 last edited by
@mchinand said in Qt and Tesseract Linkage:
INCLUDEPATH += C:\Program Files(x86)\Tesseract-OCR)
LIBS += C:\Program Files(x86)\Tesseract-OCR)
LIBS +=-LC:\Program Files(x86)\Tesseract-OCR)still saying D:\PROG\May\Tesseract\main.cpp:1: error: tesseract/baseapi.h: No such file or directory
D:\PROG\May\Tesseract\main.cpp:1:10: fatal error: tesseract/baseapi.h: No such file or directory
1 | #include <tesseract/baseapi.h>
| ^~~~~~~~~~~~~~~~~~~~~current pro file
QT += core
QT -= guiCONFIG += c++11
TARGET = openCV
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
INCLUDEPATH += C:\opencv\release\install\includeLIBS += C:\opencv\release\bin\libopencv_core455.dll
LIBS += C:\opencv\release\bin\libopencv_highgui455.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs455.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc455.dll
LIBS += C:\opencv\release\bin\libopencv_calib3d455.dll
LIBS += C:\opencv\release\bin\libopencv_features2d455.dll
LIBS += C:\opencv\release\bin\libopencv_video455.dll
LIBS += C:\opencv\release\bin\libopencv_videoio455.dllINCLUDEPATH += C:\Program Files(x86)\Tesseract-OCR)
LIBS += C:\Program Files(x86)\Tesseract-OCR)LIBS += -LC:\Qt\opencv_cv2\OPENCV1\build-qt\lib
-lopencv_calib3d249d
-lopencv_contrib249d
-lopencv_core249d
-lopencv_features2d249d
-lopencv_flann249d
-lopencv_gpu249d
-lopencv_highgui249d
-lopencv_imgproc249d
-lopencv_legacy249d
-lopencv_ml249d
-lopencv_nonfree249d
-lopencv_objdetect249d
-lopencv_ocl249d
-lopencv_photo249d
-lopencv_stitching249d
-lopencv_superres249d
-lopencv_ts249d
-lopencv_video249d
-lopencv_videostab249dSOURCES += main.cpp
DEFINES += QT_DEPRECATED_WARNINGS
please advise!
-
Hi,
As @mchinand already suggested, fix your paths.
Since they have spaces in them you have to quote them properly.
Also, having a path ending with a ) is unusual, are you sure it's written like that ?
-
wrote on 26 May 2022, 18:29 last edited by
Can you just give me copy paste to make it work, please!
I've tried to put ' and "", gives error
Thanks, mister -
Can you just give me copy paste to make it work, please!
I've tried to put ' and "", gives error
Thanks, misterwrote on 26 May 2022, 18:32 last edited by JonB@OlegD
Assuming the correct path isC:\Program Files(x86)\Tesseract-OCR
, everywhere you use it you need to copy/paste"C:\Program Files(x86)\Tesseract-OCR"
My guess is you need
INCLUDEPATH += "C:\Program Files(x86)\Tesseract-OCR" LIBS += -L"C:\Program Files(x86)\Tesseract-OCR"
-
Another way to avoid that: install Tesseract in a folder without spaces and special characters.
-
wrote on 26 May 2022, 18:59 last edited by
@OlegD said in Qt and Tesseract Linkage:
tesseract/baseapi.h
You should find where this file is actually located. It could be that your includepath should be
INCLUDEPATH += "C:\Program Files(x86)\Tesseract-OCR\include"
-
wrote on 26 May 2022, 19:04 last edited by
edited as per all recommendations of yours..
still getting errors:last pro.file output
QT += core
QT -= guiCONFIG += c++11
TARGET = openCV
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
INCLUDEPATH += C:\opencv\release\install\includeLIBS += C:\opencv\release\bin\libopencv_core455.dll
LIBS += C:\opencv\release\bin\libopencv_highgui455.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs455.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc455.dll
LIBS += C:\opencv\release\bin\libopencv_calib3d455.dll
LIBS += C:\opencv\release\bin\libopencv_features2d455.dll
LIBS += C:\opencv\release\bin\libopencv_video455.dll
LIBS += C:\opencv\release\bin\libopencv_videoio455.dllINCLUDEPATH += "C:\Tesseract-OCR"
LIBS += -L"C:\Tesseract-OCR"
INCLUDEPATH += "C:\Tesseract-OCR\include"LIBS += -LC:\Qt\opencv_cv2\OPENCV1\build-qt\lib
-lopencv_calib3d249d
-lopencv_contrib249d
-lopencv_core249d
-lopencv_features2d249d
-lopencv_flann249d
-lopencv_gpu249d
-lopencv_highgui249d
-lopencv_imgproc249d
-lopencv_legacy249d
-lopencv_ml249d
-lopencv_nonfree249d
-lopencv_objdetect249d
-lopencv_ocl249d
-lopencv_photo249d
-lopencv_stitching249d
-lopencv_superres249d
-lopencv_ts249d
-lopencv_video249d
-lopencv_videostab249dSOURCES += main.cpp
DEFINES += QT_DEPRECATED_WARNINGS
Feel stupid :D
-
wrote on 26 May 2022, 19:07 last edited by
@mchinand said in Qt and Tesseract Linkage:
tesseract/baseapi.h
Are you getting the same error? What is the full path to this header file on your system?
-
edited as per all recommendations of yours..
still getting errors:last pro.file output
QT += core
QT -= guiCONFIG += c++11
TARGET = openCV
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
INCLUDEPATH += C:\opencv\release\install\includeLIBS += C:\opencv\release\bin\libopencv_core455.dll
LIBS += C:\opencv\release\bin\libopencv_highgui455.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs455.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc455.dll
LIBS += C:\opencv\release\bin\libopencv_calib3d455.dll
LIBS += C:\opencv\release\bin\libopencv_features2d455.dll
LIBS += C:\opencv\release\bin\libopencv_video455.dll
LIBS += C:\opencv\release\bin\libopencv_videoio455.dllINCLUDEPATH += "C:\Tesseract-OCR"
LIBS += -L"C:\Tesseract-OCR"
INCLUDEPATH += "C:\Tesseract-OCR\include"LIBS += -LC:\Qt\opencv_cv2\OPENCV1\build-qt\lib
-lopencv_calib3d249d
-lopencv_contrib249d
-lopencv_core249d
-lopencv_features2d249d
-lopencv_flann249d
-lopencv_gpu249d
-lopencv_highgui249d
-lopencv_imgproc249d
-lopencv_legacy249d
-lopencv_ml249d
-lopencv_nonfree249d
-lopencv_objdetect249d
-lopencv_ocl249d
-lopencv_photo249d
-lopencv_stitching249d
-lopencv_superres249d
-lopencv_ts249d
-lopencv_video249d
-lopencv_videostab249dSOURCES += main.cpp
DEFINES += QT_DEPRECATED_WARNINGS
Feel stupid :D
wrote on 26 May 2022, 19:08 last edited by JonB@OlegD said in Qt and Tesseract Linkage:
still getting errors:
Wouldn't you want to say/confirm what these errors are??
If it's failing on
#include <tesseract/baseapi.h>
, where exactly is that file? Is it atC:\Tesseract-OCR\include\tesseract\baseapi.h
? -
wrote on 27 May 2022, 08:03 last edited by
Is there any chance I've installed wrong tesseract version?Downloaded in installed version from the link below
https://tesseract-ocr.github.io/tessdoc/Home.html@OlegD said in Qt and Tesseract Linkage:
edited as per all recommendations of yours..
still getting errors:last pro.file output
QT += core
QT -= guiCONFIG += c++11
TARGET = openCV
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
INCLUDEPATH += C:\opencv\release\install\includeLIBS += C:\opencv\release\bin\libopencv_core455.dll
LIBS += C:\opencv\release\bin\libopencv_highgui455.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs455.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc455.dll
LIBS += C:\opencv\release\bin\libopencv_calib3d455.dll
LIBS += C:\opencv\release\bin\libopencv_features2d455.dll
LIBS += C:\opencv\release\bin\libopencv_video455.dll
LIBS += C:\opencv\release\bin\libopencv_videoio455.dllINCLUDEPATH += "C:\Tesseract-OCR"
LIBS += -L"C:\Tesseract-OCR"
INCLUDEPATH += "C:\Tesseract-OCR\include"LIBS += -LC:\Qt\opencv_cv2\OPENCV1\build-qt\lib
-lopencv_calib3d249d
-lopencv_contrib249d
-lopencv_core249d
-lopencv_features2d249d
-lopencv_flann249d
-lopencv_gpu249d
-lopencv_highgui249d
-lopencv_imgproc249d
-lopencv_legacy249d
-lopencv_ml249d
-lopencv_nonfree249d
-lopencv_objdetect249d
-lopencv_ocl249d
-lopencv_photo249d
-lopencv_stitching249d
-lopencv_superres249d
-lopencv_ts249d
-lopencv_video249d
-lopencv_videostab249dSOURCES += main.cpp
DEFINES += QT_DEPRECATED_WARNINGS
Feel stupid :D
Is there any chance I've installed wrong tesseract version?
Downloaded in installed version from the link below
https://tesseract-ocr.github.io/tessdoc/Home.html -
Is there any chance I've installed wrong tesseract version?Downloaded in installed version from the link below
https://tesseract-ocr.github.io/tessdoc/Home.html@OlegD said in Qt and Tesseract Linkage:
edited as per all recommendations of yours..
still getting errors:last pro.file output
QT += core
QT -= guiCONFIG += c++11
TARGET = openCV
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
INCLUDEPATH += C:\opencv\release\install\includeLIBS += C:\opencv\release\bin\libopencv_core455.dll
LIBS += C:\opencv\release\bin\libopencv_highgui455.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs455.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc455.dll
LIBS += C:\opencv\release\bin\libopencv_calib3d455.dll
LIBS += C:\opencv\release\bin\libopencv_features2d455.dll
LIBS += C:\opencv\release\bin\libopencv_video455.dll
LIBS += C:\opencv\release\bin\libopencv_videoio455.dllINCLUDEPATH += "C:\Tesseract-OCR"
LIBS += -L"C:\Tesseract-OCR"
INCLUDEPATH += "C:\Tesseract-OCR\include"LIBS += -LC:\Qt\opencv_cv2\OPENCV1\build-qt\lib
-lopencv_calib3d249d
-lopencv_contrib249d
-lopencv_core249d
-lopencv_features2d249d
-lopencv_flann249d
-lopencv_gpu249d
-lopencv_highgui249d
-lopencv_imgproc249d
-lopencv_legacy249d
-lopencv_ml249d
-lopencv_nonfree249d
-lopencv_objdetect249d
-lopencv_ocl249d
-lopencv_photo249d
-lopencv_stitching249d
-lopencv_superres249d
-lopencv_ts249d
-lopencv_video249d
-lopencv_videostab249dSOURCES += main.cpp
DEFINES += QT_DEPRECATED_WARNINGS
Feel stupid :D
Is there any chance I've installed wrong tesseract version?
Downloaded in installed version from the link below
https://tesseract-ocr.github.io/tessdoc/Home.htmlwrote on 27 May 2022, 08:24 last edited by@OlegD said in Qt and Tesseract Linkage:
Is there any chance I've installed wrong tesseract version?
That's for you to sort out. But there are no
.h
files, and noinclude
sub-directory. -
wrote on 27 May 2022, 08:31 last edited by
so what should i actually do ?
I'm totally lost now :D -
@OlegD said in Qt and Tesseract Linkage:
LIBS += -LC:\Qt\opencv_cv2\OPENCV1\build-qt\lib
-lopencv_calib3d249d
-lopencv_contrib249d
-lopencv_core249d
-lopencv_features2d249d
-lopencv_flann249d
-lopencv_gpu249d
-lopencv_highgui249d
-lopencv_imgproc249d
-lopencv_legacy249d
-lopencv_ml249d
-lopencv_nonfree249d
-lopencv_objdetect249d
-lopencv_ocl249d
-lopencv_photo249d
-lopencv_stitching249d
-lopencv_superres249d
-lopencv_ts249d
-lopencv_video249d
-lopencv_videostab249dthis is incorrect
those need to be inline or concatenated via
\
to escape the (invisible) newline character -
wrote on 27 May 2022, 08:32 last edited by
@OlegD said in Qt and Tesseract Linkage:
so what should i actually do ?
I'm totally lost now :DDid you read & follow the instructions (for Windows) from the link?
-
wrote on 27 May 2022, 09:20 last edited by
Well, I dont know how to make it work with QT.
I've just installed package, realized that there is no instruction for QT and posted to QT forum.
Please advise how can I install it properly for QT environmentWindows
main branch, 3.05 and later
Using Tesseract!!! IMPORTANT !!! To use Tesseract in your application (to include tess or to link it into your app) see this very simple example.
Build the latest library (using Software Network client)Download the latest SW (Software Network https://software-network.org/) client from https://software-network.org/client/. Run sw setup (may require administrator access) Run sw build org.sw.demo.google.tesseract.tesseract-master.
For visual studio project using tesseract
Setup Vcpkg the Visual C++ Package Manager. Run vcpkg install tesseract:x64-windows for 64-bit. Use –head for the master branch.
Static linking
To build a self-contained tesseract.exe executable (without any DLLs or runtime dependencies), use Vcpkg as above with the following command:
vcpkg install tesseract:x64-windows-static for 64-bit vcpkg install tesseract:x86-windows-static for 32-bit
Use –head for the main branch. It may still require one DLL for the OpenMP runtime, vcomp140.dll (which you can find in the Visual C++ Redistributable 2015).
Build training toolsToday it is possible to build a full set of tess training tools on Windows with Visual Studio. You need to have the latest VS compiler (VS2019/2022 or light VS 2019/2022 build tools distro installed.
To do this:
Download the latest SW (Software Network https://software-network.org/client/) client from https://software-network.org/client/. Checkout tesseract sources git clone https://github.com/tesseract-ocr/tesseract tesseract && cd tesseract. Run sw build. Binaries will be available under .sw\out\some hash dir...
Develop Tesseract
For development purposes of Tesseract itself do the next steps:
Download and install Git, CMake and put them in PATH. Download the latest SW (Software Network https://software-network.org/) client from https://software-network.org/client/. SW is a source package distribution system. Add SW client to PATH. Run sw setup (may require administrator access) If you have a release archive, unpack it to tesseract dir.
If you’re using main branch run
git clone https://github.com/tesseract-ocr/tesseract tesseract
Run cd tesseract mkdir build && cd build cmake .. Build a solution (tesseract.sln) in your Visual Studio version. If you want to build and install from command line (e.g. Release build) you can use this command: cmake --build . --config Release --target install If you want to install to other directory that C:\Program Files (you will need admin right for this), you need to specify install path during configuration: cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=inst
For development purposes of training tools after cloning a repo from previous paragraph, run
sw build
You’ll see a solution link appeared in the root directory of Tesseract.
Building for x64 platform
swIf you’re building with sw+cmake, run cmake as follows:
mkdir win64 && cd win64
cmake .. -G "Visual Studio 14 2015 Win64"If you’re building with sw run sw generate, it will create a solution link for you (not yet implemented!).
-
Well, I dont know how to make it work with QT.
I've just installed package, realized that there is no instruction for QT and posted to QT forum.
Please advise how can I install it properly for QT environmentWindows
main branch, 3.05 and later
Using Tesseract!!! IMPORTANT !!! To use Tesseract in your application (to include tess or to link it into your app) see this very simple example.
Build the latest library (using Software Network client)Download the latest SW (Software Network https://software-network.org/) client from https://software-network.org/client/. Run sw setup (may require administrator access) Run sw build org.sw.demo.google.tesseract.tesseract-master.
For visual studio project using tesseract
Setup Vcpkg the Visual C++ Package Manager. Run vcpkg install tesseract:x64-windows for 64-bit. Use –head for the master branch.
Static linking
To build a self-contained tesseract.exe executable (without any DLLs or runtime dependencies), use Vcpkg as above with the following command:
vcpkg install tesseract:x64-windows-static for 64-bit vcpkg install tesseract:x86-windows-static for 32-bit
Use –head for the main branch. It may still require one DLL for the OpenMP runtime, vcomp140.dll (which you can find in the Visual C++ Redistributable 2015).
Build training toolsToday it is possible to build a full set of tess training tools on Windows with Visual Studio. You need to have the latest VS compiler (VS2019/2022 or light VS 2019/2022 build tools distro installed.
To do this:
Download the latest SW (Software Network https://software-network.org/client/) client from https://software-network.org/client/. Checkout tesseract sources git clone https://github.com/tesseract-ocr/tesseract tesseract && cd tesseract. Run sw build. Binaries will be available under .sw\out\some hash dir...
Develop Tesseract
For development purposes of Tesseract itself do the next steps:
Download and install Git, CMake and put them in PATH. Download the latest SW (Software Network https://software-network.org/) client from https://software-network.org/client/. SW is a source package distribution system. Add SW client to PATH. Run sw setup (may require administrator access) If you have a release archive, unpack it to tesseract dir.
If you’re using main branch run
git clone https://github.com/tesseract-ocr/tesseract tesseract
Run cd tesseract mkdir build && cd build cmake .. Build a solution (tesseract.sln) in your Visual Studio version. If you want to build and install from command line (e.g. Release build) you can use this command: cmake --build . --config Release --target install If you want to install to other directory that C:\Program Files (you will need admin right for this), you need to specify install path during configuration: cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=inst
For development purposes of training tools after cloning a repo from previous paragraph, run
sw build
You’ll see a solution link appeared in the root directory of Tesseract.
Building for x64 platform
swIf you’re building with sw+cmake, run cmake as follows:
mkdir win64 && cd win64
cmake .. -G "Visual Studio 14 2015 Win64"If you’re building with sw run sw generate, it will create a solution link for you (not yet implemented!).
wrote on 27 May 2022, 10:14 last edited by JonB@OlegD
All you have done is pasted the whole of the instructions. They are for you to read and act on. Only you know what you did/did not do.Well, I dont know how to make it work with QT.
I've just installed package, realized that there is no instruction for QT and posted to QT forum.
Please advise how can I install it properly for QT environmentI do not see anything related to Qt, or for Qt instructions.
Your code has#include <tesseract/baseapi.h>
.
I pointed out that from what you show there are no.h
files anywhere (that I can see).
I suggested you need to see if that file is anywhere, or sort out whatever you need to do to get it available. Assuming you need that line.
I don't use "tesseract", and I don't suppose anybody else here does either. -
wrote on 27 May 2022, 12:43 last edited by
It looks like what you downloaded was just the pre-built binary and associated files to use the tesseract application and not to develop your own. You will have to build the library yourself; just follow the directions that you posted above closely step by step.
-
It looks like what you downloaded was just the pre-built binary and associated files to use the tesseract application and not to develop your own. You will have to build the library yourself; just follow the directions that you posted above closely step by step.
wrote on 27 May 2022, 12:55 last edited by@mchinand
So it was just a sample application? And they do not provide the.h
files with it?Does he really need to build it? IF it comes with pre-compiled external DLLs of whatever to make the (sample?) app work, can't he use those plus
.lib
s &.h
s for his own code without having to build the.dll
s?
1/53