2017-10-21 162 views
2

我正在从python中的视频中进行字幕提取。我已经在python中使用opencv来做到这一点。我已经将它分为几帧,并且将每帧分成图像这将存储在我的磁盘,我正在做ocr。但我不想在整个图像上执行ocr。我只是想要字幕part.I手动裁剪图像与这些值278:360,因为我的图像大小是360:640.But的影像尺寸不同的视频变化files.Now我的问题是如何裁剪字幕部分单独programatically.Please提前如何在python中裁剪图像的底部(带有小标题的部分)

textImage = image[278:360,:] 

回答

2

做answer.Thanks你可以把图像的最后三分之一身高,如果你确定字幕会在那里。

例如,对于下面的图像:

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) 
  • 获取的图像的底部三分之一(包含字幕):
  • 想法是通过3来划分图像的高度,并采取该图像的底部第三:

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

    所得subtitle_img看起来像这样:

    enter image description here

    +0

    非常感谢你的工作。对不起,我不太满意,因为我的声望较低。 – krith