当前位置: 首页 > news >正文

酷 网站模板网站有什么作用

酷 网站模板,网站有什么作用,桐梓县工程建设交易网站,网站建设丶金手指下拉12文章目录 1. 开发平台2. 下载文件2.1 下载安装 OpenCV 库2.2 下载安装 Tesseract-OCR库2.3 下载训练好的语言包 3. CMakeLists.txt 内容4. Main.cpp4.1 中英文混合OCR 5. 在Qt Creator 中设置 CMake vcpkg5.1 在初始化配置文件里修改5.2 在构建配置里修改 说明#xff1a;在Q… 文章目录 1. 开发平台2. 下载文件2.1 下载安装 OpenCV 库2.2 下载安装 Tesseract-OCR库2.3 下载训练好的语言包 3. CMakeLists.txt 内容4. Main.cpp4.1 中英文混合OCR 5. 在Qt Creator 中设置 CMake vcpkg5.1 在初始化配置文件里修改5.2 在构建配置里修改 说明在Qt工程中CMake使用vcpkg安装的库6. 效果截图7. 小结 Qt利用VCPKG和CMake和OpenCV和Tesseract实现中英文OCR 今天看 OpenCV 方面的教程pdf 格式的因为一些强迫症的习惯喜欢添加一些书签手动是不太愿意的自然就想到利用OCR来实现。 想要自己编码实现OCR方案比较简单就是 Tesseract 。单独使用 Tesseract 也可以但最好利用 OpenCV 来进行图像方面的处理一大堆方法可以滤波变换就是不停地调参数让人心烦不同的图需要使用不同的方法也不清爽。出于总结的需要把过程记录下。 这个项目就是个Demo比较简单网上的水货只有 Qt Creator 和 CMake 和 vcpkg 的配合使用 有点参考价值。 1. 开发平台 os win10 x64Qt6.6compilermsvc2022项目管理cmake包管理 vcpkg开发库版本 OpenCV 4.8 这个很友好有编译出来的库不需要自己去弄Tesseract-ocr : 5.3 巨坑二进制文件为啥不包含lib 2. 下载文件 先说说踩过的坑希望有相关经验的大佬给点指点吧。 Tesseract 的坑 在 Tesseract 的 https://github.com/tesseract-ocr/tesseract#installing-tesseract有二进制包兴冲冲地下载后一看原来不是库文件是可执行文件这如何编码用进程对话来实现这包何用对开发无益 tesseract-ocr-w64-setup-5.3.3.20231005.exe (64 bit) 安装后 没有lib库,只有可执行文件 sw 坑 既然没有 Tesseract 现成的库那就需要自己编译了在Tesseract 上接触到了 sw这也是一个包管理方面的东西关键是会自动下载自动解决包依赖的问题看上去很方便兴冲冲地下载使用发现网速也是刚刚的cmake 也能使用看看文档 下载、添加环境变量、在cmake设置依赖的包然后等待成功吧。 find_package(SW REQUIRED) sw_add_package(org.sw.demo.glennrp.png ) sw_execute()add_executable(mytarget ${MY_SOURCES}) target_link_libraries(mytargetorg.sw.demo.glennrp.png )看上去很美好但是 sw_execute() 这一步时间长的也是让人醉了只要CMakeFiles.txt 一有变动这玩意就会折腾好一阵子。 有大佬会的么指点一下细节。这东西看上去不错值得鼓掌和期待。希望好起来吧。 还有个swgui的客户端也是折腾了一下但是最后也没掌握也搞不懂。遂弃之。 2.1 下载安装 OpenCV 库 这一步很简单官网有很多版本的我就找了一个最新的 Releases - OpenCV 下载安装添加环境变量就行。就可以省略向生成的目录下 复制 dll 的步骤。 2.2 下载安装 Tesseract-OCR库 踩过了SW的坑还是回到了VCPKG。利用 IDM 和 迅雷 实现手动加速网络。过程比较繁琐但是没啥难度。另外使用PowerShell 会方便一点。 vcpkg install tesseract --tripletx64-windows具体步骤 执行 vcpkg install tesseract --tripletx64-windowsctrl c 中断复制下载链接手动 IDM 或者 迅雷重命名继续 执行 vcpkg install tesseract --tripletx64-windows … 慢慢征途应该有本小说在伴。祝网速好运。 另外不要自己去手动编译 Tesseract 库这库依赖也多依赖 leptonica 、archive.dll、bz2.dll、clang_rt.asan_dynamic-x86_64.dll、gif.dll、jpeg62.dll、libcrypto-3-x64.dll、libcurl.dll、liblzma.dll、libpng16.dll、libsharpyuv.dll、libwebp.dll、libwebpmux.dll、lz4.dll、openjp2.dll、tiff.dll、zlib1.dll、zstd.dll烦透啦。 2.3 下载训练好的语言包 tessdata_best: https://github.com/tesseract-ocr eng.traineddata 和 chi_sim.traineddata 点击进去下载raw 3. CMakeLists.txt 内容 cmake_minimum_required(VERSION 3.24)project(36_Opencv4_Tesseract_OCR LANGUAGES CXX)#set(CMAKE_CXX_STANDARD 17) #set(CMAKE_CXX_STANDARD_REQUIRED ON)##################### 设置 QT库 ##################### set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON)# 添加自定义代码的 include 和 source 路径 #include_directories (D:/Project/qt_common_tools/global_define) #aux_source_directory (D:/Project/qt_common_tools/global_define COMMON_TOOLS_LIST)find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core ) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core )##################### vcpkg 库 ##################### #寻找 TESSERACT 库 FIND_PACKAGE(tesseract REQUIRED) #寻找 LEPTONICA 库 FIND_PACKAGE(leptonica REQUIRED)##################### opencv 库 ##################### set(OpenCV_DIR C:/OpenCV/opencv/build)#寻找OpenCV库 FIND_PACKAGE(OpenCV REQUIRED)##打印调试信息 #MESSAGE(STATUS Project: ${PROJECT_NAME}) #MESSAGE(STATUS OpenCV library status:) #MESSAGE(STATUS version: ${OpenCV_VERSION}) #MESSAGE(STATUS libraries: ${OpenCV_LIBS}) #MESSAGE(STATUS include path: ${OpenCV_INCLUDE_DIRS})##################### 修改入口点 ##################### # 设置程序为 windows 程序 修改入口点,不显示 console #set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} /ENTRY:mainCRTStartup)#################### 内存泄露检查 ##################### #SET(CMAKE_CXX_FLAGS -fsanitizeaddress)#获取代码在项目中将所有代码都放在src文件夹中 AUX_SOURCE_DIRECTORY(. DIR_SRCS) #MESSAGE(STATUS Src file: ${DIR_SRCS})#################### 设置源码编码 #################### #add_compile_options($$CXX_COMPILER_ID:MSVC:/source-charset:utf-8) #add_compile_options($$CXX_COMPILER_ID:MSVC:/execution-charset:GBK)#{{{{{{{{{{{{{{{{{{{ 编译可执行程序 }}}}}}}}}}}}}}}}}}}}# add_executable( ${PROJECT_NAME} # WIN32${DIR_SRCS}${COMMON_TOOLS_LIST} )#################### 添加链接库 ##################### set(VCPKG_INCLUDE_DIR C:/vcpkg/installed/x64-windows/include) set(VCPKG_LIB_DIR C:/vcpkg/installed/x64-windows/lib)# 头文件路径 TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC ${VCPKG_INCLUDE_DIR})# lib文件路径 TARGET_LINK_DIRECTORIES(${PROJECT_NAME}PUBLIC${VCPKG_LIB_DIR})# lib文件 TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC${OpenCV_LIBS}tesseract53leptonicaQt${QT_VERSION_MAJOR}::Core )# 设置默认打开VCPKG #set_target_properties(${PROJECT_NAME} PROPERTIES VS_GLOBAL_VcpkgEnabled true)#################### 设置app ico ##################### ##set(app_icon_resource_windows ${CMAKE_CURRENT_SOURCE_DIR}/logo.rc) ##message(STATUS ${app_icon_resource_windows}) 4. Main.cpp //#include chinese.h #include qdebug.h#include iostream #include opencv2/highgui.hpp #include opencv2/imgproc.hpp #include tesseract/baseapi.h // tesseract main header#include QBuffer using namespace cv;int main() {std::string image_name txt.jpg;Mat imageMat;imageMat imread(image_name);// imshow(ANSI(原图), imageMat);imshow(origin, imageMat);if (imageMat.empty()) {printf(No image data \n);return -1;}// Rect ccomp;// floodFill(imageMat,Point(3,3),Scalar(255,255,255),ccomp,Scalar(10,10,10),Scalar(20,20,20));cv::cvtColor(imageMat, imageMat, cv::COLOR_BGR2GRAY);char *outText;tesseract::TessBaseAPI tessbaseApi;if (tessbaseApi.Init(./, chi_simeng)) { // chi_simeng 把下载的语言包 和 可执行文件放到一起std::cout stderr std::endl;exit(1);}// tesseract 设置图片tessbaseApi.SetImage((uchar *) imageMat.data, imageMat.cols, imageMat.rows, 1, imageMat.cols);// 获取 ocr 结果outText tessbaseApi.GetUTF8Text();if (outText nullptr) {std::cout 没有数据 std::endl;}QBuffer buf;buf.setData(outText);buf.open(QIODevice::ReadOnly);while (!buf.atEnd()) {QString line buf.readLine();// line removedSpaceInterChinese(line); // 自定义的函数 , 移除中文之间的空格 可以不考虑if (!line.trimmed().isEmpty())qDebug() line;}delete[] outText;waitKey();return 0; }4.1 中英文混合OCR tessbaseApi.Init(./, chi_simeng) 使用 号 连接 chi_sim、eng 就行 5. 在Qt Creator 中设置 CMake vcpkg cmake导入库 可以手动编写 但既然能够偷懒为啥要动手 O(∩_∩)O 但是第一步还得手动 5.1 在初始化配置文件里修改 如果切换编译模式 realease — debug 也得手动添加 /(ㄒoㄒ)/~~ 5.2 在构建配置里修改 刚刚又捣鼓出来了一个直接在 工具配置里 添加 -DCMAKE_TOOLCHAIN_FILE:STRINGC:/vcpkg/scripts/buildsystems/vcpkg.cmake 就行 推荐指数⭐⭐⭐⭐⭐ 说明在Qt工程中CMake使用vcpkg安装的库 # 在Qt工程中使用vcpkg安装的库改成自己的vcpkg安装目录 1. qt 在项目中添加 CMAKE_TOOLCHAIN_FILE C:/vcpkg/scripts/buildsystems/vcpkg.cmake2. CMakeList.txt ##################### vcpkg 库 ##################### #寻找 TESSERACT 库 FIND_PACKAGE(tesseract REQUIRED)#寻找 LEPTONICA 库 FIND_PACKAGE(leptonica REQUIRED)#################### 链接库 ##################### set(VCPKG_INCLUDE_DIR C:/vcpkg/installed/x64-windows/include) // 这一步其实也可以修改不用绝对路径 set(VCPKG_LIB_DIR C:/vcpkg/installed/x64-windows/lib)# 头文件路径 TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC ${VCPKG_INCLUDE_DIR})# lib文件路径 TARGET_LINK_DIRECTORIES(${PROJECT_NAME}PUBLIC${VCPKG_LIB_DIR})# lib文件 TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLICtesseract53leptonica )6. 效果截图 7. 小结 构建套件Desktop Qt 6.6 MSVC2019 64bit 可以使用 MSVC2022 版的c 和 c的编译器也算方便。如果msvc添加了142生成工具那也可以手动添加编译选择 msvc2019模式就行。 如果没有使用Qt的模块【就这个程序而言完全可以不用qt】用std::cout 输出会发现 QC的应用程序输出框全是乱码但是不要慌 用cmd去执行程序代码页切换到utf-8 chcp 65001 想说的也说完了大功告成
http://www.w-s-a.com/news/712666/

相关文章:

  • 如何设计公司网站公司网站空间要多大
  • 建筑公司网站排名5G网站建设要多少个
  • seo怎样新建网站弹簧东莞网站建设
  • 在线做爰直播网站石家庄房产
  • 建筑网站哪里找拓者设计吧首页
  • 广州网站的建设wordpress注册数学验证码
  • 装修平台自己做网站有几个黄页名录网站开发
  • php网站的安全优势平面设计师培训
  • 乐清市网站建设设计重庆沙坪坝区
  • 什么是seo站内优化开发网页的工具有哪些
  • 文化类网站是不是休闲娱乐类网站青州市建设局网站
  • 网站的中英文切换代码做现货黄金网站
  • 万江区网站建设公司前端如何根据ui设计写页面
  • 宿迁公司做网站手机免费创建网站的软件
  • 免费可商用素材网站山东威海网站开发
  • 建设网站什么语言比较合适柳州建设网经济适用房
  • 企业网站的主要功能板块平台推广是做什么的
  • 网页网站自做全搞定西安建设工程信息网诚信平台
  • 网站vip怎么做建网站外包公司
  • 胶州建网站域名不备案可以正常使用吗
  • 网站建设客户开发方案软件工程师行业分析
  • 沈阳网站建设黑酷科技微信小程序怎么一键删除
  • 做网站产品搜索展示实现西安百度推广服务公司
  • 建立网站接受投注是什么意思一般使用的分辨率的显示密度是多少
  • 怎么建立一个网站开展业务网站建设人员的工资分配
  • 求职网站建设方案企业网站开发需求分析
  • 西安企业网站开发可以做哪些有趣的网站
  • 房产类网站开发云南百度建站
  • 泰州网站建设电话彩票网站怎么做代理
  • 泉州网站制作推广山西网站开发建设