视频字幕提取(2)-基于opencv和paddleocr
视频内字幕提取
video-subtitles-ocr
视频字幕提取,基于 opencv 和 paddleocr
视频内字幕提取
这里是针对内封了硬字幕的视频,字幕已经成为了画面的一部分。
思路:简单用 opencv 提取视频内的所有帧,现在可以使用 paddleocr,更加方便一点对图片进行 ocr 识别。
0. 首先需要配置一下
0.1 安装 python 库
- opencv-python
- scikit-image
- paddleocr
ref: https://paddlepaddle.github.io/PaddleOCR/latest/quick_start.html#1-paddlepaddle
1. 读取视频
使用 opencv 读取视频
1 | import cv2 |
2. 提取所有帧
1 | import datetime |
3. 只保留画面中有字幕的区域
1 | # *** 调整字幕区域的高度,按比例 *** |
4. 去除相似度较高的帧,保留关键帧
为了减少识别量,先去除一部分相似度较高的图片。
- 计算两个图片的均方差(即 MSE), 采用 skimage.metrics.mean_squared_error 函数
1 |
|
5.1 识别字幕 pytesseract
1 |
|
5.2 识别字幕 paddleocr
1 |
|
6. 格式化字幕
1 |
|