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

图像截取

代码也很简单,主要是滑动截取图像里面的内容,以一个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

你可能感兴趣的:(VCU)