我正在从python的视频中提取字幕,我在python中使用了opencv来实现这一点。我把它分成了几个帧,每个帧作为图像存储在我的磁盘上,我在it.But上做ocr,我不想在整个图像上执行ocr,我只想要字幕部分,我只想用以下值( 278:360 )手工裁剪图像,因为我的图像大小是360:640。但是图像大小因不同的视频files.Now而不同,我的问题是如何提前裁剪字幕部分( programatically.Please do answer.Thanks )。
textImage = image[278:360,:]发布于 2017-10-21 17:57:28
如果你确信字幕会在那里,你可以取最后三分之一的图像高度。
例如,对于以下图像:

按以下方式进行:
在我的示例中,我使用的是来自skimage.io的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) 其思想是将图像的高度除以3,然后取图像的底部三分之一:
crop_position = int(img.shape[0]/3)
subtitle_img = img[img.[0] - crop_position:,:,:]生成的subtitle_img如下所示:

发布于 2021-05-02 22:11:35
在我的例子中,我只对数组使用一个库和常规操作:
import matplotlib.image as mpimg
image= mpimg.imread('someImage.jpg')
#Example for bottom half of an image, but you can replace this with your parameter
crop_position = image.shape[0] // 2
half_imagage = image[image.shape[0] - crop_position:,:]它返回了一个很好的图像:

https://stackoverflow.com/questions/46866121
复制相似问题