首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中裁剪图像的底部(部分带有字幕)

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

Stack Overflow用户
提问于 2017-10-21 17:38:04
回答 2查看 970关注 0票数 3

我正在从python的视频中提取字幕,我在python中使用了opencv来实现这一点。我把它分成了几个帧,每个帧作为图像存储在我的磁盘上,我在it.But上做ocr,我不想在整个图像上执行ocr,我只想要字幕部分,我只想用以下值( 278:360 )手工裁剪图像,因为我的图像大小是360:640。但是图像大小因不同的视频files.Now而不同,我的问题是如何提前裁剪字幕部分( programatically.Please do answer.Thanks )。

代码语言:javascript
复制
    textImage = image[278:360,:]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-21 17:57:28

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

例如,对于以下图像:

按以下方式进行:

  1. 将图像读入numpy数组:

在我的示例中,我使用的是来自skimage.ioskimage.io,但您可以使用opencv

代码语言:javascript
复制
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,然后取图像的底部三分之一:

代码语言:javascript
复制
crop_position = int(img.shape[0]/3)
subtitle_img = img[img.[0] - crop_position:,:,:]

生成的subtitle_img如下所示:

票数 3
EN

Stack Overflow用户

发布于 2021-05-02 22:11:35

在我的例子中,我只对数组使用一个库和常规操作:

代码语言:javascript
复制
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:,:]

它返回了一个很好的图像:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46866121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档