OcrLiteNcnn:Windows环境打包及Java调用

目录结构

  • 前言
  • cmake安装
  • 源码下载
    • 说明
  • Windows源码编译
    • 执行“cmake -DCMAKE_BUILD_TYPE=Release ..”
    • 执行“cmake --build . --config Release -- -m:6”
    • 编译完成
  • 识别图片
  • 命令行调用
  • Java调用

在这里插入图片描述

前言

Java实现OCR识别图片中的文字,小编先前整理过一篇在Linux环境中基于“ChineseOcr Lite Ncnn”实现图片中文字识别的文章:ChineseOcr Lite Ncnn:高效轻量级中文OCR工具,现在在之前基础上在Windows中实现图片文字识别并和Java程序相结合;

cmake安装

根据项目源码编译需要,必须安装“cmake”并且版本必须在3.12以上,小编电脑已经安装好cmake version 3.29.2(安装不做过多陈述);
在这里插入图片描述
GitHub源码编译说明请参照OcrLiteNcnn>>>README.md>>>编译说明;
在这里插入图片描述

源码下载

  1. 小编调整后的,可直接按照文章进行:网盘下载:OcrLiteNcnn-1.8.0_windows_20240903.zip,提取码:przh
  2. 参照小编之前的文章ChineseOcr Lite Ncnn:高效轻量级中文OCR工具到GitHub下载项目源码;

说明

GitHub源码功能更加强大,部分功能小编用不到就把代码给调整了,只将识别结果输出到控制台;
源码还有以下几个功能:

  1. 将识别的信息及必要日志输出到控制台;(小编保留功能,且只保留识别内容,无关日志已删除,下边测试结果截图可体现)
  2. 将输出到控制台的信息一并生成一个TXT文件到图片同级目录下;
  3. 在图片同级目录下生成一张图片,图片内容是,识别图片文字命中位置用矩形方框加以标识,方便区分识别位置;

如需更多功能,还请直接下载GitHub中项目源码;

Windows源码编译

解压下载的压缩包

cd OcrLiteNcnn-1.8.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release -- -m:6

执行“cmake -DCMAKE_BUILD_TYPE=Release …”

在这里插入图片描述

Microsoft Windows [版本 10.0.19045.2846]
(c) Microsoft Corporation。保留所有权利。C:\Users\Administrator\Desktop\ocr_0903\OcrLiteNcnn-1.8.0\build>cmake -DCMAKE_BUILD_TYPE=Release ..
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.29.30154.0
-- The CXX compiler identification is MSVC 19.29.30154.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No OCR_OUTPUT, defaulting to BIN
-- No OCR_VULKAN, defaulting to CPU
配置WINDOWS ncnn x64 路径: C:/Users/Administrator/Desktop/ocr_0903/OcrLiteNcnn-1.8.0/ncnn-static/windows-x64/lib/cmake/ncnn
-- Found OpenMP_C: -openmp (<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/878593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV入门12.2:SURF与SIFT比较及SURF示例

SIFT (Scale-Invariant Feature Transform): 提出时间: 1999年&#xff0c;由David Lowe提出。关键特点: 能够检测和描述图像中的关键点&#xff0c;这些关键点对旋转、缩放和部分亮度变化具有不变性。计算复杂度: 相对较高&#xff0c;因为SIFT使用了高斯差分核来检测关键点&…

小程序面试题二

一、微信小程序的开发原理是什么&#xff1f; 微信小程序的开发原理主要基于Web规范&#xff0c;采用HTML、CSS和JavaScript等前端技术&#xff0c;并结合微信官方提供的特定框架和API进行开发。以下是小程序开发原理的详细解析&#xff1a; 1. 开发框架与语言 WXML&#xff…

全局安装react

1、首先安装react脚手架 npm install -g create-react-app2、创建react项目 create-react-app my-app3、 PS D:\桌面\papers\subject> create-react-app my-react-appCreating a new React app in D:\桌面\papers\subject\my-react-app.Installing packages. This might …

解释 JVM 的内存模型(堆、栈、方法区等),并简述如何通过调整 JVM 参数来优化应用程序的性能?

JVM&#xff08;Java Virtual Machine&#xff09;的内存模型是 Java 程序运行的基础&#xff0c;理解它的各个组成部分对于优化应用程序的性能至关重要。 JVM 的内存模型主要包括以下几个部分&#xff1a; 堆&#xff08;Heap&#xff09;栈&#xff08;Stack&#xff09;方…

数据结构(1)数据结构基础(单向链表)

一、什么是数据结构 数据结构是一组用来保存一种或多种特定关系的数据的集合。其主要目的是组织和存储数据&#xff0c;以便于高效的访问和修改。在程序设计中&#xff0c;将大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中&#xff0c;并在此基础上实现某个特定…

Docker安装Neo4j图数据库和APOC插件

文章目录 一、前言二、安装Neo4j三、测试Neo4j四、安装APOC插件五、测试APOC插件 一、前言 官方文档&#xff1a;https://neo4j.com/docs/operations-manual/current/docker/introduction/ 二、安装Neo4j 我这里以 5.23.0 版的 Neo4j 为例 拉取镜像 docker pull neo4j:5.23.0…

Java-用户线程与守护线程

在Java中&#xff0c;线程分为用户线程和守护线程。用户线程是程序的主要线程&#xff0c;而守护线程则是为用户线程提供支持的后台线程。以下是对这两种线程的详细解释以及示例代码。 用户线程与守护线程的区别 用户线程&#xff1a; 用户线程是应用程序中执行的主要线程&…

HarmonyOS NEXT 应用运行异常记录与解决(持续整理版)

问题一 App Launch Failed to get the device apiVersion. 解决方案 进入到设备管理&#xff0c;点击对应开启的模拟器设备&#xff0c;先将模拟器关闭&#xff0c;然后点击查出掉用户数据&#xff0c;再重启。 重启之后&#xff0c;一般能解决。如果遇到还是显示拿不到apiVer…

《第三十四章 高级主题 - 动画效果》

在 Android 应用开发中&#xff0c;动画效果能够显著提升用户体验&#xff0c;使应用更加生动和吸引人。本章将深入探讨 Android 中的动画效果&#xff0c;包括属性动画、帧动画以及 ViewPager 动画。 一、属性动画 &#xff08;一&#xff09;属性动画简介 属性动画是 Android…

bash反弹shell分析

目录 介绍步骤 介绍 与目标主机建立连接的原理是利用漏洞执行ShellCode。 GetShell的实质是&#xff1a;执行ShellCode&#xff0c;将目标主机的Shell重定向到攻击机。拿到Shell利于后续的渗透。 所谓的反弹Shell是指GetShell的过程由目标主机主动发起&#xff08;反向连接&a…

Git如何安装和配置

一、Git 的安装 1、Git 的官网 Git (git-scm.com) 2、下载 Git for Windows 在官网下载好 Git 的安装文件后&#xff0c;接下来就可以进行安装了。 3、安装 Git 以管理员身份运行你下载的安装文件&#xff1a; 然后就可以进入安装向导了。 4、验证是否安装成功 当安装向…

测试分类简介

1.按照测试⽬标分类 1&#xff09;界面测试&#xff1a; 界⾯测试&#xff08;简称UI测试)&#xff0c;指按照界⾯的需求&#xff08;⼀般是UI设计稿&#xff09;和界⾯的设计规则&#xff0c;对我们软件界⾯所展⽰的全部内容进⾏测试和检查。 2&#xff09;功能测试&#xff…

内存管理(三)--Linux CMA内存使用

文章目录 一、预留一段内存常用方法1.1 设备树定义reserve memory 二、内存节点常见属性2.1 no-map和reusable使用上的区别 三、预留CMA的reserved memory方法3.1 共享cma&#xff08;采用设备树&#xff09;3.2 共享cma&#xff08;采用bootargs&#xff09;3.3 私有cma 四、使…

【数据结构】--初始集合框架

1. 什么是集合框架 集合框架:Java中已经实现好的集合类&#xff08;一些已经由Java实现好的数据结构&#xff09;。Java的数据结构和C语言的数据结构是没有什么区别的&#xff0c;里面的区别就只是实现的语言不一样。不可能出现Java的单链表和C语言实现的单链表是两个不同的东…

idea配置svn发现安装的svn中的bin目录下没有svn.exe文件

问题描述 使用idea配置svn时&#xff0c;发现安装的svn没有svn.exe文件 解决方法 1、双击svn安装包&#xff0c;找到【modify】 2、默认安装时&#xff0c;没有安装command line client tools&#xff0c;里面是有svn.exe 3、选择will be installed on local hard drive 4、…

idea中使用git提交代码报错husky > pre-commit

1、原因&#xff1a; 本地项目中的.git下的一个文件导致的提交失败&#xff0c;这个文件是pre-commit文件。由于预提交钩子pre-commit导致的提交失败&#xff0c;通过删除.git/hooks/pre-commit文件可以解决 2、解决步骤&#xff1a; 1、找到项目中的.git文件夹&#xff0c;…

鸿蒙-右边固定长度,左边超长Text自适应

Component Entry struct test {build() {Row() {Column() {Text(长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串长字符串).maxLines(1).textOverflow({ overflow: TextOverflow.Ellipsis…

公园智能厕所引导大屏,清楚显示厕位有无人状态

在科技飞速发展的今天&#xff0c;公园的设施也在不断与时俱进。其中&#xff0c;公园智能厕所引导大屏的出现&#xff0c;为游客带来了全新的如厕体验。 走进公园的智能厕所区域&#xff0c;首先映入眼帘的便是那醒目的引导大屏。屏幕上清晰地显示着各个厕位的有无人状态&…

sqlite3的db.parallelize方法:并行执行SQL语句,提升数据库操作效率

在Node.js环境中&#xff0c;sqlite3作为一个广受欢迎的轻量级数据库库&#xff0c;为开发者提供了一个与SQLite数据库进行交互的简洁API。在进行数据库操作时&#xff0c;为了提高效率&#xff0c;sqlite3提供了db.parallelize方法&#xff0c;允许并行执行多个SQL语句&#x…

ROS Simulink 支持与限制

ROS Simulink 支持与限制 ROS 工具箱在 Simulink 中不支持以下 ROS 功能&#xff1a; ROS 服务 服务器ROS 动作 如果您的应用需要这些功能&#xff0c;建议使用 MATLAB ROS 功能。您可以使用 MATLAB 编写一个 ROS 节点&#xff0c;该节点可以将服务、动作和变换树发布到一个…