Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

去除保存ocr识别结果时对 !TesseractEnabled 的检测 #11708

Merged
merged 7 commits into from
Jun 15, 2024

Conversation

2234839
Copy link
Member

@2234839 2234839 commented Jun 13, 2024

  • Please commit to the dev branch
  • For contributing new features, please supplement and improve the corresponding user guide documents
  • For bug fixes, please describe the problem and solution via code comments
  • For text improvements (such as typos and wording adjustments), please submit directly

不应当将保存 ocr 文本与 TesseractEnabled 关联

这导致我所开发的 OceanPress插件实现了 ocr 功能,但调用 setImageOCRText 却无法保存结果

@2234839
Copy link
Member Author

2234839 commented Jun 13, 2024

我看了看前端关于 ocr 的代码,之前我还奇怪为什么要打开图片菜单就进行 ocr 识别

现在看来 getImageOCRText 接口应该改为只返回 ocr-texts.json 中的结果,而原有功能改名为 ocrAsset 更好

@TCOTC
Copy link
Contributor

TCOTC commented Jun 13, 2024

相关:OCR 未启用时不保存 ocr-texts.json af694f6

@2234839
Copy link
Member Author

2234839 commented Jun 13, 2024

相关:OCR 未启用时不保存 ocr-texts.json af694f6

那应该必须要改 getImageOCRText 接口和前端的行为了

@2234839
Copy link
Member Author

2234839 commented Jun 13, 2024

已添加相关接口和修改前端代码

@pisceswb
Copy link

小白请教一下,当前状态下,直接修改“ocr-texts.json”中的内容,会实现思源笔记中图片ocr内容的正确变更吗?

@2234839
Copy link
Member Author

2234839 commented Jun 13, 2024

小白请教一下,当前状态下,直接修改“ocr-texts.json”中的内容,会实现思源笔记中图片ocr内容的正确变更吗?

应该是会的吧

@pisceswb
Copy link

小白请教一下,当前状态下,直接修改“ocr-texts.json”中的内容,会实现思源笔记中图片ocr内容的正确变更吗?

应该是会的吧

赞!👍👍这样就能使用外部程序批量对思源笔记图片附件进行ocr,写入“ocr-texts.json”中了。不用担心Tesseract占用资源和识别内容不准确的问题了。

@2234839
Copy link
Member Author

2234839 commented Jun 13, 2024 via email

@pisceswb
Copy link

但思源执行ocr时会使用Tesseract的结果来覆盖

请问Tesseract会对已有ocr内容的图片重新进行ocr吗?
如果是这样的话,那就一定不要配置Tesseract了。
如果检测到已有ocr内容后,Tesseract不对该图片进行ocr的话,就没有问题了。

@2234839
Copy link
Member Author

2234839 commented Jun 14, 2024

@88250 这个pr可以吗

@pisceswb
Copy link

@88250 期待能够使用外部ocr软件对思源附件中的图片进行批量ocr。即不与思源笔记抢进程,也不用担心识别不准确。仅在偶尔需要搜索图片内容时,自己进行一次ocr就完美解决问题。已准备好quicker动作:
image

@@ -263,11 +263,12 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/asset/removeUnusedAsset", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, removeUnusedAsset)
ginServer.Handle("POST", "/api/asset/removeUnusedAssets", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, removeUnusedAssets)
ginServer.Handle("POST", "/api/asset/getDocImageAssets", model.CheckAuth, getDocImageAssets)
ginServer.Handle("POST", "/api/asset/renameAsset", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, renameAsset)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里 CheckAdminRole 是发布服务新增的,不能去掉吧?

@88250
Copy link
Member

88250 commented Jun 15, 2024

@pisceswb 外部 OCR 的话只要写入 ocr-texts.json 时使用 内核文件 API 应该没有问题。

@88250 88250 merged commit b590091 into siyuan-note:dev Jun 15, 2024
@pisceswb
Copy link

内核文件 API

D大能给一个简单的实例吗,不会弄,谢谢D大!

@2234839
Copy link
Member Author

2234839 commented Jun 15, 2024

内核文件 API

D大能给一个简单的实例吗,不会弄,谢谢D大!

https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md#%E5%86%99%E5%85%A5%E6%96%87%E4%BB%B6
用这个

@88250
Copy link
Member

88250 commented Jun 15, 2024

@2234839 合并后测了下,好像有点问题:不能设置 OCR 结果了:

image

@pisceswb
Copy link

内核文件 API

D大能给一个简单的实例吗,不会弄,谢谢D大!

https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md#%E5%86%99%E5%85%A5%E6%96%87%E4%BB%B6 用这个

https://getquicker.net/subprogram?id=29aa5aff-87b9-41eb-98f1-08dc7a77392c
尝试使用上面这个思源笔记api写json文件,仍然不可行。
能够使用quicker本地ocr软件成功ocr并写入json文件中,但思源正文图片的ocr框中没有内容
重建索引后,json文件中图片对应内容重新变为空,思源正文图片的ocr框中仍然没有内容

@pisceswb
Copy link

已将quicker动作公开,不作任何限制及要求,感兴趣的大佬尽管拿走修改。只希望能够实现使用quicker本地ocr批量处理思源笔记图片的功能。
https://getquicker.net/Sharedaction?code=06c0491c-66c5-4755-b6a2-08dc8c86488e

@2234839
Copy link
Member Author

2234839 commented Jun 16, 2024

@2234839 合并后测了下,好像有点问题:不能设置 OCR 结果了:

@88250
之前每次打开都会重新触发一次ocr,导致手动填的被覆盖,我就把这段代码给绑定到 reOCR 按钮上了。
图片

现在将ocr 和获取 ocr 文本分离了,我待会给他移回去

然后还有一个问题,我之前以为是我本地 ocr tesseract 的问题,现在发现是思源没有处理本地文档下还有 assets 目录的问题

/SiYuan/data/assets/image-20240616113545-4cvzecv.png
/SiYuan/data/20210816161940-zo21go1/assets/image-20240616113545-4cvzecv.png

图片

这个问题是在前端处理还是后端处理比较好,有现成的能够根据资源路径获取到实际路径的方法吗

copialot pushed a commit to copialot/siyuan that referenced this pull request Aug 3, 2024
…results (siyuan-note#11708)

* 去除保存ocr识别结果时对 !TesseractEnabled 的检测

* 🐛 siyuan-note#11709

* siyuan-note#11708

修改ocr相关接口

* siyuan-note#11708

修改前端相关代码

* Update router.go

* Update router.go

---------

Co-authored-by: Vanessa <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants