python - 如何在 python 中裁剪图像的底部(带字幕的部分)

标签 python image opencv ocr

我正在用 python 从视频中提取字幕。我在 python 中使用 opencv 来做这个。我把它分成帧,每个帧作为图像存储在我的磁盘中,我在上面做 ocr。但我不想对整个图像执行 ocr。我只想要字幕部分。我用这些值 278:360 手动裁剪图像,因为我的图像大小是 360:640。但图像大小因不同的视频文件而异。现在我的问题是如何以编程方式单独裁剪字幕部分。请回答。提前致谢

    textImage = image[278:360,:]

最佳答案

如果您确定字幕会在那里,您可以取图像高度的最后三分之一。

例如,对于下图:

enter image description here

进行如下:

  1. 将图像读入一个 numpy 数组:

在我的示例中,我使用的是 skimage.io 中的 imread,但您可以使用 opencv:

from skimage.io import imread 
img = imread('http://cdn.wccftech.com/wp-content/uploads/2017/05/subtitle-of-a-blu-ray-movie.jpg')
img.shape #   >>> (383, 703, 3) 
  1. 获取图像的底部三分之一(包含字幕):

想法是将图像的高度除以 3 并取图像底部的三分之一:

crop_position = int(img.shape[0]/3)
subtitle_img = img[img.[0] - crop_position:,:,:]

生成的 subtitle_img 如下所示:

enter image description here

关于python - 如何在 python 中裁剪图像的底部(带字幕的部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46866121/

相关文章:

python - 编辑元组的内容

javascript - 单击后使用 JavaScript 旋转图像

javascript - 将图像放入使用 jsReport 生成的 pdf 中

Python 将 PIL 图像转换为 numpy 数组非常慢

android - 使用 OpenCV Android 移植

c++ - OpenCV 在 VideoCapture grab() 上挂起

python - PyMongo 导入连接 - 导致 ImportError

python - wxPython 网络拓扑工具 - 需要一些帮助 - 请看看 :)

python - 处理 xml 文档中缺失的元素

ios - 如何提高包含大量小图像的 UCollectionView 的性能?