Giter VIP home page Giter VIP logo

Comments (21)

hiroi-sora avatar hiroi-sora commented on May 18, 2024 1

恰恰相反,你这不是构建成功了嘛😂只是缺少模型库,所以未能启动引擎而已。

下载一个1.3.0版的release包,将其中的models文件夹整个拷贝到你编译生成的 ppocr.exe 同目录下,即可。

可选传入-config_path来手动指定加载哪一套模型库,比如 ppocr.exe -config_path="models/config_german_v2.txt"

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024 1

请问如何设置PaddleOCR-json.exe 的工作路径?我的调用代码所在的位置就是其工作路径吗? 能实现,将任意位置的PaddleOCR-json.exe路径传给matlab程序脚本 吗? 现在只能是PaddleOCR-json.exe和所有的matlab程序脚本 都在一个文件夹下,才能正常工作。

搞定了。
1、matlab程序脚本 和 PaddleOCR-json.exe ,不必在一个文件夹下,
2、cd(which('PaddleOCR-json.exe')),设置PaddleOCR-json.exe所在路径为当前文件夹即可。

from paddleocr-json.

Auroraol avatar Auroraol commented on May 18, 2024

谢谢啦
6CAB68FB

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

我也是同样的问题,也把models文件夹整个拷贝到panddleOCR-Json_v1.3.0文件夹下面了(和panddleOCR-json.exe同路径),然后还是同样的错误。

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

我是在matlab调用,文件也都有,这些错误怎么搞呢?
1、配置config代码:

exepath = '.\PaddleOCR-json_v.1.3.0\PaddleOCR-json.exe';
configpath = '.\PaddleOCR-json_v.1.3.0\models\config_chinese.txt';
commandconfig = [exepath,' "--config_path" ',configpath];
[status,cmout] = system(commandconfig)   

报错:

cmout =
'PaddleOCR-json v1.3.0
     Load config from [.\PaddleOCR-json_v.1.3.0\models\config_chinese.txt] : det_model_dir set to models/ch_PP-OCRv3_det_infercls_model_dir set to models/ch_ppocr_mobile_v2.0_cls_inferrec_model_dir set to models/ch_PP-OCRv3_rec_inferrec_char_dict_path set to models/dict_chinese.txt. 
     [ERROR] det_model_dir [models/ch_PP-OCRv3_det_infer] does not exist. rec_model_dir [models/ch_PP-OCRv3_rec_infer] does not exist. 
     ' 

2、使用PaddleOCR-json.exe

exepath = '.\PaddleOCR-json_v.1.3.0\PaddleOCR-json.exe';
command = [exepath,' ',imagepath];
[status,cmout] = system(command);

报错:

cmout =
    'PaddleOCR-json v1.3.0
     config_path [] does not exist. 
     [ERROR] det_model_dir [models/ch_PP-OCRv3_det_infer] does not exist. rec_model_dir [models/ch_PP-OCRv3_rec_infer] does not exist. 
     '

图片

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

@lil-i321

你先试试,不通过程序调用,直接打开 PaddleOCR-json.exe 有没有问题。
如果直接运行OK。通过程序调用失败,那么是你代码调用exe的工作路径的问题。

PaddleOCR-json.exe 的工作路径必须是它所在的文件夹。可能你在调用时,调用方默认设置了另外的工作路径,导致相对路径找不到模型库。
请尝试手动设置工作路径,或者传入绝对路径。

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

@lil-i321

你先试试,不通过程序调用,直接打开 PaddleOCR-json.exe 有没有问题。 如果直接运行OK。通过程序调用失败,那么是你代码调用exe的工作路径的问题。

PaddleOCR-json.exe 的工作路径必须是它所在的文件夹。可能你在调用时,调用方默认设置了另外的工作路径,导致相对路径找不到模型库。 请尝试手动设置工作路径,或者传入绝对路径。

1、matlab调用PaddleOCR-json.v1.2.1,不会报错,但是matlab一直会run下去,10min还没停,就1张100k的图片。
Umi-OCR这个软件,10张差不多的图片,18s就提取完了。
2、直接打开1.3.0的 PaddleOCR-json.exe是这个界面
图片

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

直接打开1.3.0的 PaddleOCR-json.exe是这个界面

对,这个界面表示 PaddleOCR-json 初始化成功了,能正常读入models文件夹中的模型库。所以肯定是调用方的代码编写有问题,而我估计大概率是工作路径没设置对。

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

直接打开1.3.0的 PaddleOCR-json.exe是这个界面

对,这个界面表示 PaddleOCR-json 初始化成功了。所以肯定是调用方的代码编写有问题,而我估计大概率是工作路径没设置对。

1、更改了绝对路径,也将matlab程序脚本放在PaddleOCR-json.exe同目录下,确实不会报错了。
但是对于1.2.1,这两个额外配置都是不需要的。
2、新的问题是,1.3.0和1.2.1,调用后,一直在运行,没有一点停下来的意思。。。。这是不正常的吧?

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

没有一点停下来的意思

嗯,因为你用堵塞的方式来调用OCR(即PaddleOCR-json.exe程序退出后,你的代码才能得到返回结果)。而 PaddleOCR-json 默认是循环工作模式,即识别一张图片后不会主动退出,而是等待下一张图片任务。因此,就算 PaddleOCR-json 输出了识别结果,因为它没有退出,你的堵塞模式的代码也无法得到命令行输出。

有两种解法:

  1. 使用单次识图模式,见 文档
  2. 将你的代码改写为非堵塞模式。

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

另外,我发现了你原本代码里的一个错误,可能是这个错误导致了读模型库失败,而不是工作路径的问题。
configpath = '.\PaddleOCR-json_v.1.3.0\models\config_chinese.txt';
这句写错了,模型库的相对路径,是相对于PaddleOCR-json.exe的位置,而不是相对于调用方脚本的位置。正确的是:
configpath = 'models\config_chinese.txt';

改正上述错误之后,v1.3.0和1.2.1的表现应该一致,即既不需要绝对路径,也不需要移动matlab脚本位置。

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

没有一点停下来的意思

嗯,因为你用堵塞的方式来调用OCR(即PaddleOCR-json.exe程序退出后,你的代码才能得到返回结果)。而 PaddleOCR-json 默认是循环工作模式,即识别一张图片后不会主动退出,而是等待下一张图片任务。因此,就算 PaddleOCR-json 输出了识别结果,因为它没有退出,你的堵塞模式的代码也无法得到命令行输出。

有两种解法:

1. 使用单次识图模式,
2. 将你的代码改写为非堵塞模式。

单次识图模式,出现这个错误
图片
图片

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

@lil-i321

这是一个示例,演示如何用非堵塞模式处理多张图片。(我不熟悉matlab,有错请见谅)

% 图片地址列表
imagePaths = {'test1.png', 'test2.png', 'test3.png'};

% 配置文件路径
configPath = 'models\config_chinese.txt';

% 导入 JSON 库
json = jsondecode('{"image_path": ""}');

% 打开管道
cmd = '.\PaddleOCR-json_v.1.3.0\PaddleOCR-json.exe --config_path "%s"';
pipe = popen(sprintf(cmd, configPath), 'w');

% 循环处理每个图片
for i = 1:numel(imagePaths)
    % 获取当前图片地址
    imagePath = imagePaths{i};

    % 构造 JSON 对象
    json.image_path = imagePath;
    jsonString = jsonencode(json);

    % 转义 JSON 字符串
    jsonString = matlab.net.base64encode(uint8(jsonString));

    % 发送转义后的 JSON 字符串到管道
    fprintf(pipe, '%s\n', jsonString);

    % 刷新管道缓冲区
    fflush(pipe);

    % 监听管道回传的结果
    result = fgets(pipe);
    disp(result);
    % TODO:对result做反ascii转义 和 json解析
end

% 关闭管道
pclose(pipe);

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

单次识图模式,出现这个错误

这是因为单次识别模式可能对中文路径的兼容性不好。如果要用单次识别模式,请准备纯英文路径的图片。
如果需要处理中文路径,那么请使用循环模式+json传入值,像上面我给的例子。

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

@lil-i321

这是一个示例,演示如何用非堵塞模式处理多张图片。(我不熟悉matlab,有错请见谅)

非常感谢,我确定matlab没有多线程运行的功能,不知道这个非阻塞模式是否和这个相关,如果是,就不行了,后面我会试试看,先搞定单次识别吧,再加上for循环

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

@lil-i321

非常抱歉可能闹了乌龙,我查了一下,matlab似乎没有提供管道的机制,所以我示例中的 popen() 可能不存在这个函数。

你也许可能找找第三方库或别的方式,实现管道通信的机制。或者,只能使用单次识别模式+英文路径。

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

单次识图模式,出现这个错误

这是因为单次识别模式可能对中文路径的兼容性不好。如果要用单次识别模式,请准备纯英文路径的图片。 如果需要处理中文路径,那么请使用循环模式+json传入值,像上面我给的例子。

非常感谢,图片名改成英文就可以了,但是不能转成文字,我还需要配置什么呢?
图片

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

@lil-i321

非常抱歉可能闹了乌龙,我查了一下,matlab似乎没有提供管道的机制,所以我示例中的 popen() 可能不存在这个函数。

你也许可能找找第三方库或别的方式,实现管道通信的机制。或者,只能使用单次识别模式+英文路径。

谢谢特地查询,后面我试试看,结果会在此反馈。

from paddleocr-json.

hiroi-sora avatar hiroi-sora commented on May 18, 2024

但是不能转成文字,我还需要配置什么呢?

你这已经识别成功了。后续只需要将这个json字符串转为matlab对象,就可以读取结果的每个字段。

https://ww2.mathworks.cn/help/matlab/ref/jsondecode.html

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

单次识别模式+英文路径

matlab确实不能用管道模式,单次识别模式+英文路径+for循环,每张图大概3s,还可以接受...
谢谢作者的程序与解答!!!

from paddleocr-json.

lil-i321 avatar lil-i321 commented on May 18, 2024

PaddleOCR-json.exe 的工作路径必须是它所在的文件夹。可能你在调用时,调用方默认设置了另外的工作路径,导致相对路径找不到模型库。

请问如何设置PaddleOCR-json.exe 的工作路径?我的调用代码所在的位置就是其工作路径吗?
能实现,将任意位置的PaddleOCR-json.exe路径传给matlab程序脚本 吗?
现在只能是PaddleOCR-json.exe和所有的matlab程序脚本 都在一个文件夹下,才能正常工作。

from paddleocr-json.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.