You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁止Tesseract自动选择检测角度 仅识别垂直对齐文本

禁止Tesseract自动选择识别朝向的实现方法

问题背景

存在包含两种不同朝向文本的图像:
包含两种不同朝向文本的图像
目标是仅识别图中垂直对齐的文本,但即便提前对图像做旋转处理,Tesseract默认会自动选择识别效果最优的朝向输出结果,无法按预设旋转后的方向识别垂直文本。
原有实现代码:

img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)
text = pytesseract.image_to_string(img)

解决方法

Tesseract默认开启OSD(页面方向与脚本检测)和自动旋转逻辑,只要在调用识别接口时传入自定义配置,关闭相关自动检测逻辑即可强制按输入图像的当前朝向识别:

  • 核心是通过配置项禁止自动旋转,同时彻底关闭方向检测模块,不要使用默认的全自动页面分割模式(默认--psm 3会触发自动方向判断)。
  • 修改后的可运行代码:
img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)
# 自定义识别配置:关闭OSD检测、禁止自动旋转、设置页面分割模式为单一文本块
rec_config = r'--no-osd -c tessedit_do_not_rotate=1 --psm 6'
text = pytesseract.image_to_string(img, config=rec_config)

参数调整说明

  • 如果垂直文本是零散分布在图中而非整块文本,可以把--psm 6替换为--psm 11(稀疏文本模式,无固定顺序识别所有文本),根据实际识别效果选择对应PSM模式即可,只要不使用默认的--psm 3全自动模式就不会触发自动朝向选择。
  • 若使用的是旧版本Tesseract,不支持tessedit_do_not_rotate参数,仅保留--no-osd+固定非自动类PSM模式的配置,也能实现禁止自动选朝向的效果。

内容的提问来源于stack exchange,提问作者Kilsicles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 19:39:40