paddle如何取消显示置信度
你可以看下 这个代码修改之后,输出是否还包含置信度?
这个是本地输出结果:
[[27.0, 459.0], [136.0, 459.0], [136.0, 479.0], [27.0, 479.0]]
这个是原先输出结果:
[[[28.0, 37.0], [302.0, 39.0], [302.0, 72.0], [27.0, 70.0]], ('纯臻营养护发素', 0.9658750295639038)]
result = ocr.ocr(img_path, cls=True)
修改为result = ocr.ocr(img_path, cls=True, rec=False)
如有问题及时沟通
如有作用欢迎采纳
from paddleocr import PaddleOCR, draw_ocr
import paddle
device = paddle.set_device('cpu')
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(use_angle_cls=True, lang="ch") # need to run only once to download and load model into memory
img_path = './imgs/11.jpg'
result = ocr.ocr(img_path, cls=True, rec=False)
for line in result:
print(line[0])
修改模型的输出层: 在定义模型架构的代码中,通常会有一个输出层,该层包括类别预测和置信度预测。你可以选择只保留类别预测,而去掉置信度预测。具体做法可能涉及到修改网络结构或者调整相关的代码逻辑。
后处理过程: 如果模型已经输出了类别和置信度信息,你可以在后处理过程中丢弃置信度信息,只保留类别信息。后处理通常包括解码、非极大值抑制(NMS)等步骤,你可以根据需要进行相应的修改。
输出格式设置: 在预测过程中,通常会有输出格式的设置,你可以在输出格式中指定只获取类别信息而忽略置信度信息。
drop_score设置1.0,先试下
from paddleocr import PaddleOCR, draw_ocr
# PaddleOCR支持多语言,修改lang参数即可切换
# 例如 'ch', 'en', 'fr', 'german', 'korean', 'japan'
ocr = PaddleOCR(use_angle_cls=True, lang="ch") # 只需要执行一次即可下载模型到内存
img_path = './imgs/11.jpg'
result = ocr.ocr(img_path, cls=True)
for line in result:
print(line)
# 显示结果
# 如果本地没有 simfang.ttf 字体,可以在 doc/fonts 目录中下载
from PIL import Image
result = result[0]
image = Image.open(img_path).convert('RGB')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
# 设置drop_score为1.0,取消显示置信度
im_show = draw_ocr(image, boxes, txts, scores, font_path='doc/fonts/simfang.ttf', drop_score=1.0)
im_show = Image.fromarray(im_show)
im_show.save('result.jpg')
【以下回答由 GPT 生成】
根据给出的代码和提示,我可以为你提供解决方案。
# 在PaddleOCR中取消显示识别结果的置信度
# 1. 导入所需的库
from paddleocr import PaddleOCR, draw_ocr
from PIL import Image
# 2. 初始化PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang="ch")
# 3. 加载图片并进行文字识别
image_path = './imgs/11.jpg'
result = ocr.ocr(image_path, cls=True)
# 4. 取消显示置信度
# 将result列表中每个元素的置信度去除,仅保留文本框和文字
result_without_confidence = [[line[0], line[1][0]] for line in result]
# 5. 绘制识别结果并保存图片
image = Image.open(image_path).convert('RGB')
boxes = [line[0] for line in result_without_confidence]
texts = [line[1] for line in result_without_confidence]
draw_img = draw_ocr(image, boxes, texts)
# 6. 输出结果
# 将识别结果作为参数传递给print函数进行输出
for text in texts:
print(text)
解决方案说明:
PaddleOCR
和PIL
。PaddleOCR
的构造函数来初始化OCR引擎,并传入use_angle_cls=True
和lang="ch"
来启用角度分类器和使用中文模型。ocr.ocr
函数进行文字识别。这将返回一个列表,其中每个元素包含文本框、文字和识别置信度。result
列表进行处理,仅保留文本框和文字。我们创建了一个新的列表result_without_confidence
来保存去除置信度的结果。draw_ocr
函数绘制识别结果,并将识别结果保存到draw_img
变量中。for
循环遍历识别的文本并使用print
函数进行输出。请记住,在使用该解决方案之前,确保你已经安装了所需的库和模型,并将图片路径正确设置为你的图片路径。
希望以上解决方案对你有帮助!如果你有任何问题,请随时提问。
设置配置参数来实现。
PaddleOCR的配置文件通常使用JSON格式,可以在配置文件中添加以下代码:
"show_confidence": false
如果使用PaddleOCR的Python API进行文字识别,可以在识别时传递show_confidence参数,并将其设置为False。
在配置文件中设置
配置文件设置show_confidence为false
如果您需要取消显示置信度,可以通过设置参数 confidence_thr
来控制检测结果的输出。下面是一些关于 confidence_thr
参数的说明:
confidence_thr
为 None
时,所有检测到的结果都会输出,并且置信度得分也会一同输出。confidence_thr
为一个非负数时,只有置信度得分大于等于该值的检测结果才会被输出,而小于该值的检测结果则会被过滤掉。此时输出的结果中不会包含置信度得分。因此,如果您想取消显示置信度,可以将 confidence_thr
参数设置为一个非负数(通常为零),只输出检测出物体的结果。在调用 PaddleOCR API 的时候,可以将 confidence_thr
设置为 0,例如:
import paddleocr
ocr = paddleocr.OCR()
result = ocr.ocr(image_path='example.png', confidence_thr=0)
for line in result:
print(line[0])
此时输出的结果将不会包含置信度得分。