在我的节目中,我正在读一个原始视频,然后裁剪每一个帧,最后我需要制作一个所有裁剪帧的视频。
这些帧是用我定义的大小(上、下、左和右)裁剪的,但它不会保存到视频中。
我想做的是:
input_video = cv2.VideoCapture(videosPath+"/"+video)
while True:
ret, frame = input_video.read()
if not ret:
break
for (top, right, bottom, left) in *****
crop_img = f
我正在从摄像机或视频文件中抓取帧。
从每一帧(位图),我想裁剪矩形并保存在内存。
在处理新帧时,我不再需要旧的裁剪矩形。我可以用新的裁剪矩形覆盖它。
显然,我不能为每一帧创建新的字节数组并依赖于垃圾收集,因为我很容易从内存中消失,或者至少内存非常分散。我需要重新使用一些缓冲区。
如果裁剪矩形的大小是恒定的,这将是容易的,但在每一帧(视频中的图像对象跟踪)可能是不同的。
有什么API可以帮助我进行内存管理吗?我试着重用MemoryStream,但我不确定这是否是正确的方法:
if (memoryStream == null)
{
memoryStream = new M