利用图片模拟生成测试视频

图像截取

代码也很简单,主要是滑动截取图像里面的内容,以一个16000x4320得图像为例,如果想生成4096x3840的图像,则有多种策略进行生成,比如
(1)只横向移动,每次10pixel
(2)横向纵向都移动,横纵每次各10pixel
(3)…等
本次只用到了最简单的横向移动,代码如下

int xxx__main()
{
	Mat out(Size(4096, 3840), 1);
	Mat src = imread("D:/testImg/lunwen/m_v1/v1.png", 1);
	int w = src.cols - 4096;
	int start = 0;
	int i = 0;
	int out_cnt = 30;
	
	for (start = 0; start <= w; start+= 10) {
		out = src(Rect(start, 0,4096,3840));
		imwrite("D:/testImg/lunwen/m_v1/out" + to_string(i++) + ".png", out);
		if (i >= out_cnt) break;
	}

	return 0;
}

图像合成

利用ffmpeg将图像进行合成得到yuv原始图像,代码如下:

ffmpeg.exe -f image2 -i out%%d.png -pix_fmt nv12 v_roi2_3200x2160.yuv

其次,还可以生成gif预览下效果,代码如下

ffmpeg -i out%d.jpeg -r 60 out.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值