Closed GOgo8Go closed 2 weeks ago
如下图,请取消勾选 输出忽略空白图片 。(它是默认启用的)
如下图,请取消勾选 输出忽略空白图片 。(它是默认启用的)
感谢回复!但是使用 V2.1.2 版,多次尝试,不管是勾选,还是不勾选 “输出忽略空白图片”选项,在生成的识别结果文本中,都跳过了未识别的图片;或者说,取消勾选 输出忽略空白图片 的话,未被识别出字符的,它应该显示什么呢?
请问你是输出为什么格式呢?
当输出为“标准txt”等格式时,如果不勾选 “输出忽略空白图片”,那么会输出文件名+空行。csv等格式同理。
不过一些输出格式,可能没有什么变化。
你可以告诉我你使用什么输出格式。我们可以小小的修改一下代码,让空白图片输出一些自定义的占位符。
请问你是输出为什么格式呢?
当输出为“标准txt”等格式时,如果不勾选 “输出忽略空白图片”,那么会输出文件名+空行。csv等格式同理。
不过一些输出格式,可能没有什么变化。
你可以告诉我你使用什么输出格式。我们可以小小的修改一下代码,让空白图片输出一些自定义的占位符。
你好,1.我使用的是默认的 p.txt 纯文本格式,不勾选 “输出忽略空白图片”,在生成的文本中,会跳过未识别的图片;2.尝试了使用 txt 标准格式,在生成的文本中,会有日期,空格,文件名等,会显得很乱(抱歉);3.希望,未被识别的图片,在生成的文本中,仅有一行占位符,比如,打上 “未识别” 就行了,这样,在批量OCR时,排版,选择单行无换行的话,识别的文字结果会和图片顺序保持一致,方便后续操作
p.txt 纯文本格式 在设计上就是只写入已识别的纯文本(而不包含提示信息)。所以无论是否勾选”输出忽略空白图片“,这种格式都不会记录未识别的图片。
不过,我们可以简单修改代码来添加占位符:
UmiOCR-data\py_src\ocr\output\output_txt_plain.py
找到最后面的 def print(self, res)
函数,将它替换为以下代码:
def print(self, res): # 输出图片结果
textOut = ""
# 100: 成功识别的图片
if res["code"] == 100:
textOut += getDataText(res["data"]) # 获取拼接结果
if not textOut[-1] == "\n": # 确保结尾有换行
textOut += "\n"
# 101: 无文字的图片
elif res["code"] == 101:
textOut = "未识别\n"
# 其他编号:识别出错的图片
else:
textOut = "识别出错\n"
with open(self.outputPath, "a", encoding="utf-8") as f: # 追加写入本地文件
f.write(textOut)
你有编程经验的话,可以根据自己的需要,定制该输出器的功能。
修改代码后,问题已解决,十分感谢!祝越做越好!
Issues
Expected behavior 预期的功能
问题:图片如果没有被识别出文字,在结果文件中,不会被记录,而是自动跳过,这就导致识别出来的文字和图片顺序错乱,不能一 一对应!
建议:给没有识别出文字的图片,增加占位符,比如:未识别;这样,OCR识别文字结果和图片顺序能对应起来,方便后续的其它操作。或者增加这么一个选项按钮,方便需要的人!
Approximate reference (optional) 近似的参考(可选)
No response