用matlab实现视频截图字幕部分的拼接
2016-01-18 20:40
1376 查看
这里提供一个在线截图拼接工具:截图拼接工具 - 在线拼接电影字幕截图
我们常在微博及各大论坛、贴吧看到各种视频截图字幕部分的拼接,这广泛应用于一个角色在剧中说的一段特别精彩的话,这对应于 Gif ⇒ 长图(图接图) ⇒ 字幕拼接 方式的转变,大概是为了空间的节约,自然也带来流量的降低。如下:
不知道别人是用何种工具做的,我自然想到手头正在用的强大的matlab,(所有代码及测试图片见http://pan.baidu.com/s/1skp64NV),github地址https://github.com/chunhuizhang/subtitles
我们常在微博及各大论坛、贴吧看到各种视频截图字幕部分的拼接,这广泛应用于一个角色在剧中说的一段特别精彩的话,这对应于 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')
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- 稀疏自动编码器 (Sparse Autoencoder)
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- 初学数模-MATLAB Quick Start! Part I
- 初学数模-MATLAB Quick Start! Part II
- matlab程序优化以及eclipse与github的结合
- matlab中的rand函数(用于产生随机数)