☰
【搭建OpenCV+Tesseract+vcpkg】
2026/10/16 7:29:07 网站建设 项目流程

文章目录

  • 1.vcpkg学习使用
    • 2.基于vcpkg调用Tesseract第三方库
    • 1.Vcpkg配置国内镜像方法
vcpkgremove--outdated(卸载所有过期包)vcpkgintegrate project 集成到vs2022中vcpkgintegrateinstall(安装)vcpkgremove boost:x64-windows--recurse(卸载包)vcpkgintegrate remove (移除)vcpkgsearch[pat]搜索可用于生成的包vcpkginstall… 安装软件包vcpkgremove … 卸载软件包vcpkgremove--outdated卸载所有过期的软件包vcpkglist 列出已安装的软件包vcpkgupdate 显示要更新的包列表vcpkgupgrade 重建所有过时的软件包vcpkgx-history(实验)显示了包的控制版本的历史记录

1.vcpkg学习使用

Step1:安装git
下载地址

Step2:下载安装vcpkg
等待一段直到下载完成。

gitclone https://github.com/microsoft/vcpkg

配置环境变量

Step3:编译项目。即:下图右侧的黑框消失

bootstrap-vcpkg.sh


step4:集成到系统环境

vcpkgintegrate project

Install-Package "vcpkg.D.Code.vcpkg.1.0.0.nupkg" -Source "D:\code\vcpkg"


//导航相关模块vcpkginstallrecastvcpkginstallsdl2

2.基于vcpkg调用Tesseract第三方库

step1:下载第三方库

注:遇到下载半天的可以自己用迅雷去下载或者科学上网或者多多try again,在放到相应的文件夹如:D:\Code\vcpkg\downloads

vcpkginstalltesseract:x64-windowsvcpkginstalltesseract:x86-windows



API官网案例演示
step2:安装opencv

vcpkginstallopencv:x86-windows
vcpkginstallopencv:x64-windows

官网API学习手册
step3:配置Tesseract中文训练字符
下载地址

注意项目配置应该设置为如下

文件下载下来并放到项目输出目录下并新建文件夹命名为tessdata即可

#include <stdio.h>#include <iostream>#include <opencv2/highgui/highgui_c.h>#include<opencv2/opencv.hpp>#include <leptonica/allheaders.h>#include <tesseract/baseapi.h>#include <tesseract/publictypes.h>#include <string>#include <fstream>using namespace cv;using namespace tesseract;using namespace std;intmain(){string outText;string imPath="D:/1104dc4c2fef4d3fbc7ea939d9b35ced.jpg";// Create Tesseract object tesseract::TessBaseAPI *ocr=new tesseract::TessBaseAPI();/* Initialize OCR engine to use English(eng)and The LSTM OCR engine. There are four OCR Engine Mode(oem)available OEM_TESSERACT_ONLY Legacy engine only. OEM_LSTM_ONLY Neural nets LSTM engine only. OEM_TESSERACT_LSTM_COMBINED Legacy + LSTM engines. OEM_DEFAULT Default, based on what is available. */ //中英文识别 ocr->Init(NULL,"chi_sim", tesseract::OEM_LSTM_ONLY);//英文识别 //ocr->Init("./tessdata","eng", tesseract::OEM_LSTM_ONLY);// Set Page segmentation mode to PSM_AUTO(3)// Other important psm modes will be discussedina future post. ocr->SetPageSegMode(tesseract::PSM_AUTO);// Open input image using OpenCV Mat im=cv::imread(imPath, IMREAD_COLOR);imshow("Image Source", im);// Set image data ocr->SetImage(im.data, im.cols, im.rows,3, im.step);// Run Tesseract OCR on image outText=string(ocr->GetUTF8Text());std::ofstream fout("1.txt", std::ios::out);std::cout<<"识别结果: "<<string(outText)<<std::endl;fout<<outText;fout.close();// Destroy used object and release memory ocr->End();waitKey(0);}


解决方法:
方式一:网上找vs2017控制台出现中文乱码
方式二:网上找个utf-8转ansi码的代码自己转一下
方式三:解决方案,亲测可用

1.Vcpkg配置国内镜像方法

镜像地址: http://106.15.181.5
环境变量名:X_VCPKG_ASSET_SOURCES
环境变量值:x-azurl,http://106.15.181.5/

如何将个人代码库导入到vcpkg
官网环境搭建地址
官网vcpkg配置方式

C:\Windows\System32\cmd.exe /k"D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\VsDevCmd.bat"-arch=amd64-host_arch=amd64&&setChocolateyInstall=c:\opt\chocolatey&&c:\opt\ros\melodic\x64\setup.bat

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询