首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tesseract OCR:获取文本和弦并提高最终OCR视频帧的质量

Tesseract OCR:获取文本和弦并提高最终OCR视频帧的质量
EN

Stack Overflow用户
提问于 2014-12-04 09:36:06
回答 1查看 1.3K关注 0票数 1

我正在使用tesseract OCR来识别视频帧的文本。

我编写了一个程序,使用ffmpeg获取视频的所有主要帧,并对它们进行裁剪(用静态值)作为文本的中心(例如,它应该是字幕)。

我还使用了ImageMagickTextCleaner脚本,它们像魔法一样提高了OCR的质量!

不管怎么说,有时候我的视频质量不太好,或者视频大小有点小,或者裁剪没有中间的文本(因为值是staitc),而OCR的结果非常糟糕。

我的问题是:如何才能检测到文本的正确位置?这将提高OCR的质量,取得更好的效果。

如有任何建议,将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-12-06 02:06:29

您可以尝试使用边缘检测,也可以与其他方法结合使用。像这样(纯粹的边缘检测):

代码语言:javascript
复制
convert            \
  big.jpg          \
  \(               \
      big.jpg -colorspace gray -edge 8 -negate \
  \)               \
 +append           \
 -resize 50%       \
  big-edge-8.png

或者:

代码语言:javascript
复制
convert            \
  big.jpg          \
  \(               \
      big.jpg -colorspace gray -edge 25 -negate \
  \)               \
 +append           \
 -resize 50%       \
  big-edge-25.png

以下是两个结果:

另一种选择是减少颜色的数量,应用对比度拉伸和(可选)阈值:

代码语言:javascript
复制
convert                 \
   big.jpg              \
  -colors 400           \
  -contrast-stretch 25% \
   colors-400-contraststretch-25.png

convert                 \
   big.jpg              \
  -colors 400           \
  -contrast-stretch 25% \
  -threshold 50%        \
   colors-400-contraststretch-25-threshold-50.png

更新:“精明”边缘检测

您可能还想使用-canny。它实现了“精明”边缘检测算法,并在ImageMagick中出现在6.8.9-0版本之后。将其与-contrast-stretch-colorspace gray相结合

代码语言:javascript
复制
convert big.jpg         \
  -colorspace gray      \
  -contrast-stretch 45% \
  -canny 0x1+10%+30%    \
   canny1.png

convert big.jpg         \
  -colorspace gray      \
  -contrast-stretch 45% \
  -canny 0x2+10%+30%    \
   canny2.png

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27290574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档