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

如何在R中提取PNG文件里的竖排韩汉混合文本

竖排中韩混合文本的OCR提取解决方案

针对你的两个问题,以下是基于R的tesseract和magick包的具体解决方法:

1. 提取竖排(从上到下、从右到左)文本

竖排文本的识别核心是让Tesseract正确识别文本方向,有两种可行方案:

方案一:旋转图片转换为横排后识别

通过旋转图片将竖排文本转为横排,再调整字符顺序还原正确阅读逻辑:

  • 使用magick将图片逆时针旋转90度,把竖排文本转为横排(此时每行字符顺序是反向的)
  • 识别旋转后的图片,再反转每行的字符顺序,得到正确的文本内容

方案二:直接配置Tesseract识别方向

无需旋转图片,通过设置Tesseract的页面分割模式(psm)和文本方向参数,让引擎直接识别竖排文本:

  • 设置psm=5(适配单个垂直文本块)
  • 设置tessedit_orientation=4(对应垂直从上到下、从右到左的文本布局)

2. 同时提取韩语和中文文本

Tesseract支持多语言混合识别,只需在初始化引擎时传入多个语言代码,同时下载对应的语言包即可:

  • 韩语代码:kor
  • 繁体中文代码:chi_tra(老旧海报多为繁体,优先选择)
  • 简体中文代码:chi_sim

完整代码示例

方案一(旋转图片法)

library(tesseract)
library(magick)
library(pdftools)

# 下载所需语言包
tesseract_download("kor")
tesseract_download("chi_tra")

# 初始化多语言引擎
bilingual_engine <- tesseract(c("kor", "chi_tra"))

# 转换PDF为PNG(如果输入是PDF)
pngfile <- pdftools::pdf_convert("/Users/R/USEFULRCODES/example2.pdf")

# 读取图片并逆时针旋转90度
img <- image_read(pngfile)
rotated_img <- image_rotate(img, 90)  # 逆时针旋转90度

# 识别旋转后的图片
raw_text <- ocr(rotated_img, engine = bilingual_engine)

# 分割文本为行,反转每行字符,再合并
processed_text <- paste(sapply(strsplit(raw_text, "\n"), function(line) {
  if(nchar(line) > 0) paste(rev(strsplit(line, "")[[1]]), collapse = "") else line
}), collapse = "\n")

# 输出结果
cat(processed_text)

方案二(直接配置引擎法)

library(tesseract)
library(magick)
library(pdftools)

# 下载所需语言包
tesseract_download("kor")
tesseract_download("chi_tra")

# 初始化带竖排识别配置的多语言引擎
vertical_bilingual_engine <- tesseract(
  c("kor", "chi_tra"),
  options = list(
    tessedit_pageseg_mode = 5,  # 单个垂直文本块模式
    tessedit_orientation = 4    # 垂直从上到下、从右到左的文本方向
  )
)

# 转换PDF为PNG
pngfile <- pdftools::pdf_convert("/Users/R/USEFULRCODES/example2.pdf")

# 直接识别竖排文本
text <- ocr(pngfile, engine = vertical_bilingual_engine)

# 输出结果
cat(text)

注意事项

  • 如果海报是简体中文,将chi_tra替换为chi_sim即可
  • 老旧海报可能存在模糊、噪点问题,可先用magick的image_trim()、image_contrast()等函数预处理图片,提升识别准确率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:45:39