您的位置:首页 > 编程语言 > MATLAB

用matlab实现视频截图字幕部分的拼接

2016-01-18 20:40 1376 查看
这里提供一个在线截图拼接工具:截图拼接工具 - 在线拼接电影字幕截图

我们常在微博及各大论坛、贴吧看到各种视频截图字幕部分的拼接,这广泛应用于一个角色在剧中说的一段特别精彩的话,这对应于 Gif ⇒ 长图(图接图) ⇒ 字幕拼接 方式的转变,大概是为了空间的节约,自然也带来流量的降低。如下:



不知道别人是用何种工具做的,我自然想到手头正在用的强大的matlab,(所有代码及测试图片见http://pan.baidu.com/s/1skp64NV),github地址https://github.com/chunhuizhang/subtitles

clear, clc
I = imread('./home.JPG');
I = I(65:(720-65), :, :);
% 将截图中上下两侧的阴影截取
[h, w, d] = size(I);
% 一般为彩色照片
% 读其高、宽和平面数(彩色照片自然是 d==3)

O = zeros(h+90*9, w, d);
% 最终输出的图片的尺寸
% 共在永远的图片下拼接9个字幕条,而每个字幕条的高度是90,
% 注意这里的数据类型为double
O(1:h, 1:w, 1:d) = I;
% 先赋第一张照片
for i = 1:9,
T = imread(sprintf('./%d.JPG', i));
O(h+90*(i-1)+1:h+90*i, :, :) = T((720-90-75):(720-75-1), :, :);
% 读取其他照片的字幕部分,并进行拼接赋值
end
imshow(uint8(O), [])
imwrite(uint8(O), './test.png')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab 字幕拼接