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

克里斯

我正在从python中的视频中提取字幕。我在python中使用过opencv来做到这一点。我已将其分为帧,并且每帧都将作为图像存储在磁盘中,我正在对它进行ocr。我想在整个图像上执行ocr。我只需要字幕部分。我以278:360的值手动裁剪了图像,因为我的图像大小是360:640。但是图像大小随不同的视频文件而有所不同。如何以编程方式单独裁剪字幕部分。请务必回答。

    textImage = image[278:360,:]
穆罕默德·阿里·贾马维

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

例如,对于以下图像:

在此处输入图片说明

进行如下:

  1. 将图像读取到numpy数组中:

在我的示例中,我使用imreadfrom skimage.io,但是您可以使用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看起来像这样:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章